Your browser lacks required capabilities. Please upgrade it or switch to another to continue.
Loading…
<<if $game.started>>
<img class="sidebar-profile" @src="$player.image">
<div class="sidebar-name" @style="'--player-color:' + $player.color">
<<= $player.name>>
</div>
<hr>
<div class="sidebar-section">
<div class="sidebar-row">
<span class="label">🕒 Time</span>
<span class="value"><<= setup.getTimeName()>></span>
</div>
<div class="sidebar-row">
<span class="label">📅 Weekday</span>
<span class="value"><<= setup.getWeekdayName()>></span>
</div>
<div class="sidebar-row">
<span class="label">🗓 Day</span>
<span class="value"><<= State.variables.game.day>></span>
</div>
</div>
<hr>
<div class="world-nav">
<<link "🏫">>
<<run setup.goTo("college")>>
<</link>>
<<link "🏙️">>
<<run setup.goTo("downtown")>>
<</link>>
<<link "🏠">>
<<run setup.goTo("hostel")>>
<</link>>
</div>
<hr>
<div class="sidebar-section">
<<set _stats = setup.getPlayerSidebarStats()>>
<<for _i = 0; _i < _stats.length; _i++>>
<<set _stat = _stats[_i]>>
<div class="sidebar-row"
@style="'--stat-color:' + _stat.color">
<span class="label">
<<= _stat.icon>> <<= _stat.name>>
</span>
<span class="value">
<<= _stat.value>>
</span>
</div>
<</for>>
</div>
<hr>
<div class="social-links">
<a href="https://discord.gg/3JyYyBKGQ" target="_blank" rel="noopener noreferrer">
<img src="media/background/discord_icon.png" alt="Discord">
</a>
<a href="https://www.patreon.com/cw/Admenz" target="_blank" rel="noopener noreferrer">
<img src="media/background/patreon_icon.png" alt="Patreon">
</a>
<a href="https://subscribestar.adult/admenz" target="_blank" rel="noopener noreferrer">
<img src="media/background/subscribestar_icon.png" alt="SubscribeStar">
</a>
</div>
<</if>><<run setup.initGameState()>><div id="sceneDialogue">
<img class="background" src="media/event/player/abella_playerEvent4.jpg">
<<= setup.renderDialogue([
{
type: "narration",
text: "You head to the playground, figuring some movement would do you good. Near the basketball court, you spot Abella practicing alone."
},
{
type: "narration",
text: "She's trying to dunk. She jumps, reaches, and misses. Then she tries again. And again. Each attempt falls short."
},
{
type: "narration",
text: "After a while she notices you watching and stops, resting the ball against her hip."
},
{
speaker: "abella",
text: "Enjoying the show?"
},
{
speaker: "player",
text: "A little. You're here a lot, aren't you?"
},
{
speaker: "abella",
text: "Not just here."
},
{
speaker: "player",
text: "What do you mean?"
},
{
speaker: "abella",
text: "Not just the court. I train wherever I can. Track, basketball, whatever's available."
},
{
speaker: "abella",
text: "You just keep catching me on the court."
},
{
speaker: "player",
text: "You're trying to be good at everything?"
},
{
speaker: "abella",
text: "I'm trying to be great at everything."
},
{
speaker: "abella",
text: "Back home, I was usually the one everyone was chasing. Here, I'm surrounded by people who were the best wherever they came from."
},
{
speaker: "player",
text: "That serious?"
},
{
speaker: "abella",
text: "I hate being behind."
},
{
type: "narration",
text: "She bounces the ball once, jaw tightening a little."
},
{
speaker: "abella",
text: "I hate that feeling. I don't want anyone thinking they picked a nobody."
},
{
speaker: "player",
text: "So you're trying to claw your way back to the top."
},
{
speaker: "abella",
text: "Something like that."
},
{
type: "narration",
text: "She glances at the rim, then back at you."
},
{
speaker: "player",
text: "You've got the drive. But you're making it harder than it needs to be."
},
{
speaker: "abella",
text: "Yeah?"
},
{
speaker: "player",
text: "Your body's too stiff when you jump. Your dribbling's loose. And your form falls apart the second you go for the shot."
},
{
type: "narration",
text: "Abella looks at you for a second, then lets out a short breath."
},
{
speaker: "abella",
text: "Yeah… you're right."
},
{
speaker: "abella",
text: "You wanna show me instead of just talking about it?"
}
]) >>
</div>
<div id="continue1">
<hr>
<center>
<<link "Show her">>
<<append "#sceneDialogue">>
<<= setup.renderDialogue([
{
speaker: "player",
text: "We'll start with your stretching."
}
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/abella/abellaStretch.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She's rushing through the motions. You step in, correct her posture, and guide her properly. Your hands stay on her longer than they need to… and she doesn't pull away."
},
{
speaker: "abella",
text: "Okay… that does feel better."
},
{
speaker: "player",
text: "Because you're not forcing it anymore."
},
{
speaker: "abella",
text: "You're good with your hands. I'll give you that."
},
{
speaker: "player",
text: "Now show me your dribble."
},
{
type: "narration",
text: "Abella starts bouncing the ball. It's messy — too high, off-rhythm, and her control keeps slipping."
},
{
speaker: "player",
text: "Stop."
},
{
speaker: "abella",
text: "That bad?"
},
{
speaker: "player",
text: "You're fighting the ball instead of controlling it."
}
]) >>
<</append>>
<<replace "#continue1">>
<div id="continue2">
<hr>
<center>
<<link "Correct her">>
<<append "#sceneDialogue">>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/abella/abellaDribble.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You step in close, adjusting her fingers and the way she handles the ball. Every correction brings your body against hers."
},
{
speaker: "abella",
text: "Yeah… that's smoother."
},
{
speaker: "player",
text: "You're thinking too much. Just control it."
},
{
speaker: "abella",
text: "Easy for you to say when you're pressed up against me like this."
},
{
type: "narration",
text: "She says it with a small smile, clearly not complaining."
},
{
speaker: "player",
text: "Now show me your shot."
},
{
type: "narration",
text: "Abella sets her feet and goes for it. The form collapses immediately — elbows out, rushed release, no balance."
},
{
speaker: "player",
text: "Stop."
},
{
speaker: "abella",
text: "Let me guess. Terrible?"
},
{
speaker: "player",
text: "Your form falls apart the second you load the shot."
}
]) >>
<</append>>
<<replace "#continue2">>
<div id="continue3">
<hr>
<center>
<<link "Correct her">>
<<append "#sceneDialogue">>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/abella/abellaForm.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You move behind her, adjusting her arms and stance. She's focused, but she leans back into you more than necessary."
},
{
speaker: "abella",
text: "That feels a lot cleaner."
},
{
speaker: "player",
text: "Because your form isn't collapsing anymore."
},
{
speaker: "abella",
text: "Keep doing that and maybe I'll finally start closing the gap."
},
{
type: "narration",
text: "After a while, Abella steps back and wipes her forehead, breathing a little harder."
},
{
speaker: "abella",
text: "Alright. That's enough for today."
},
{
speaker: "player",
text: "Getting tired?"
},
{
speaker: "abella",
text: "Getting distracted."
},
{
type: "narration",
text: "She looks at you when she says it, not even trying to hide the meaning."
},
{
speaker: "abella",
text: "I need to get better. Fast. I can't keep being average here."
},
{
speaker: "abella",
text: "Your way of teaching actually works… I want you to keep training me."
},
{
speaker: "player",
text: "That was just the warm-up."
},
{
speaker: "player",
text: "If I'm training you across every sport, I'm going to break you down properly."
},
{
type: "narration",
text: "For a second, Abella just looks at you. Then that competitive smile slowly returns."
},
{
speaker: "abella",
text: "…Good."
},
{
speaker: "abella",
text: "Then don't hold back."
},
{
type: "narration",
text: "She steps closer, close enough that her chest almost brushes against you, eyes locked on yours."
},
{
speaker: "abella",
text: "I can take it."
},
{
type: "narration",
text: "She backs away with a small, challenging smile, spinning the ball on her finger as she walks off the court."
}
]) >>
<</append>>
<<replace "#continue3">>
<div id="continue4">
<hr>
<center>
<<link "Leave Court">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<img class="background" src="media/event/abella/abellaEvent2Waiting.jpg">
<<= setup.renderDialogue([
{
type: "narration",
text: "Evening. The playground is almost empty when you arrive. Abella is already there, spinning a basketball on her finger."
},
{
speaker: "abella",
text: "You're late."
},
{
speaker: "player",
text: "Had to make you wait a little. Builds character."
},
{
speaker: "player",
text: "You sure you're ready for this?"
},
{
speaker: "abella",
text: "Try me."
},
{
speaker: "player",
text: "Confident."
},
{
speaker: "abella",
text: "Just try to keep up."
},
{
type: "narration",
text: "You pull your shirt off in one motion and toss it aside. Abella's eyes drop immediately, lingering on your chest and stomach longer than she pretends."
},
{
speaker: "abella",
text: "Fuck… okay. That's unfair."
},
{
speaker: "player",
text: "You told me not to hold back. Figured I'd start by not giving the shirt a chance to survive."
},
{
speaker: "abella",
text: "You're really going to make this difficult, aren't you?"
},
{
speaker: "player",
text: "That's the idea. Try to take the ball from me."
},
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Challenge her">>
<<append "#sceneDialogue">>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/abella/abellaEvent2Challenge.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You start moving. Abella comes at you hard — hands, body, everything. She lunges, reaches, tries to body you off balance. Every attempt fails. You're always a step ahead, keeping the ball just out of reach."
},
{
type: "narration",
text: "Minutes pass. She's breathing heavier, frustration building with every failed grab."
},
{
speaker: "player",
text: "Come on, is that all my little bitch can manage?"
},
{
speaker: "abella",
text: "Shut up."
},
{
speaker: "player",
text: "What's wrong, slut? Want me to slow down and go easy on you? I can… if this is already too much for a pathetic little bitch like you."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/abella/abellaEvent2Push.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "That does it. Abella's eyes flash. She shoves you hard in the chest. You stumble back until your shoulders hit the metal pole."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/abella/abellaEvent2Kiss.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "Before you can recover she jumps on you — legs wrapping around your waist, mouth crashing into yours. The kiss is wild, angry, hungry. She bites your lip and drags her tongue against yours like she's trying to win this too."
},
{
speaker: "abella",
text: "Mmm—"
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/abella/abellaEvent2Boobs.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You don't let her stay in control. Your hands shove her top up and off in one rough pull. Her tits spill free and you take one into your mouth immediately, sucking hard while your tongue flicks over the nipple."
},
{
speaker: "abella",
text: "Ahh—fuck…"
},
{
type: "narration",
text: "You keep going, switching between both until she's arching against you. Then you grip her thighs and set her down."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/abella/abellaEvent2Finger.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You spin her around so her back is against your chest, then shove one hand straight down the front of her shorts. Your fingers find her immediately — she's already soaked."
},
{
type: "narration",
text: "You start rubbing her clit in tight, firm circles. Her head drops back against your shoulder."
},
{
speaker: "abella",
text: "Don't stop—please don't stop—"
},
{
type: "narration",
text: "Her moans get louder, thighs trembling against your hand… then every light on the playground dies at once. The whole campus goes dark."
},
{
type: "narration",
text: "You both freeze for a second, breathing hard."
},
{
speaker: "abella",
text: "Are you fucking kidding me? Why now?"
},
])>>
<</append>>
<<replace "#continue1">>
<div id = "continue2">
<hr>
<center>
<<link "Leave court with her">>
<<append "#sceneDialogue">>
<<= setup.renderDialogue([
{
type: "narration",
text: "She pulls her top back on quickly. The two of you start walking toward the hostel, still close enough that your arms keep brushing."
},
{
speaker: "abella",
text: "Somehow, I actually got better at it… and then you went and made the whole thing a lot more interesting."
},
{
speaker: "player",
text: "You did. You just decided to climb me and shove your tongue down my throat the second I pushed you."
},
{
speaker: "abella",
text: "That was on you. You had me frustrated and wet at the same time… and then you just kept pushing."
},
{
speaker: "player",
text: "You're still wet though, aren't you?"
},
{
type: "narration",
text: "Abella doesn't answer right away. Then a small, breathless laugh escapes her."
},
{
speaker: "abella",
text: "…Yeah. I am."
},
{
speaker: "abella",
text: "Next time, I'm coming prepared. And you're not stopping until I'm done."
}
]) >>
<</append>>
<<replace "#continue2">>
<div id = "continue3">
<hr>
<center>
<<link "Continue">>
<<run setup.finishEvent()>>
<</link>>
</center></div>
<</replace>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You walked into the library and spotted Abella in a quiet corner by herself. She scribbled something on a page, stared at it for a second, then tore it out, crushed it in her fist, and threw it on the floor."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/abella/abellaEvent3Sitting1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "A whole pile of crumpled papers already surrounded her chair. You walked over."
},
{
speaker: "player",
text: "What's got you looking so fucking frustrated? La Sirena told me you still haven't submitted your research."
},
{
speaker: "abella",
text: "I've been drowning in practice. Tryouts are right around the corner so every free second goes to the court. And on top of that I've got this research I barely understand."
},
{
speaker: "player",
text: "What topic did you even pick?"
},
{
speaker: "abella",
text: "Physics in sports. Showing how all that force and motion shit actually works when you're playing. I've finished most of it… but this oscillation part is killing me. I'm trying to write it in my own words and I just don't get it."
},
{
speaker: "player",
text: "You're lucky as hell then. I just got the best Physics notes on campus. Oscillation's in there with some of the cleanrest explanations you'll find."
},
{
type: "narration",
text: "You pulled out Riley's notebook and handed it to her. Abella's whole face lit up."
},
{
speaker: "abella",
text: "Fuck… thank you. Seriously. I'll copy what I need before the library closes."
},
{
speaker: "player",
text: "Don't stress. You'll finish in time. I'll pick up all these crushed pages while you write."
},
{
type: "narration",
text: "Abella immediately opened the notebook and started writing. You crouched down and began gathering the crumpled papers around her chair."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/abella/abellaEvent3Kiss1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "When you reached for the ones right by her legs, she suddenly grabbed your face with both hands and pulled you into a deep, desperate kiss — tongue, heat, zero hesitation."
},
{
type: "narration",
text: "You didn't fight it. You guided her body until she was sitting on the edge of the table, still kissing you hard while your hands slid up her sides."
},
{
speaker: "abella",
text: "Mmm… fuck—"
},
{
type: "narration",
text: "Footsteps echoed from the main aisle. You broke the kiss. Abella quickly fixed her top and sat up straight just as the janitor walked in."
},
{
speaker: "janitor",
text: "Didn't know any students were still here. It's closing time. You two need to leave."
},
{
type: "narration",
text: "Abella scooped up the notebook and her half-finished pages. The two of you walked out toward the hostel. Once you were outside she let out a frustrated breath."
},
{
speaker: "abella",
text: "Shit… I didn't finish writing everything down."
},
{
type: "narration",
text: "She glanced at you, cheeks still flushed."
},
{
speaker: "abella",
text: "I couldn't control myself. I've been dripping wet since the second I saw you walk over. My brain just shut off."
},
{
speaker: "abella",
text: "Can I please take these notes with me? I really need to finish this tonight or La Sirena won't accept the research later."
},
{
speaker: "player",
text: "Take them. Just get it done."
},
{
type: "narration",
text: "Abella gave you a quick, hungry look, then headed toward her room with the notebook clutched tight against her chest."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Continue">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You walked into the library and found Abella in the same quiet corner as last time. She was staring at the open notebook with that same frustrated look."
},
{
speaker: "player",
text: "Still looking pissed. You didn't finish copying everything?"
},
{
speaker: "abella",
text: "I copied all of it. But that doesn't mean I understand it."
},
{
speaker: "abella",
text: "I still have to apply this shit in real life and get some pictures or proof for the research. I have no fucking idea how I'm supposed to do that."
},
{
type: "narration",
text: "You looked at her for a second, then walked straight over, grabbed her by the waist, and lifted her onto the table."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/abella/abellaEvent4Kiss1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "Before she could say anything you kissed her hard, yanked her top up, and started sucking on her tits while your hands squeezed them. Abella moaned into your mouth and kissed you back like she'd been waiting for it, trying to keep the sounds quiet."
},
{
speaker: "abella",
text: "Mmm… fuck… we're in the library—"
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/abella/abellaEvent4Kiss2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You unzipped your pants. Your cock sprang free and pressed against her stomach while you kept kissing her. Abella froze, pulled back, and stared down between you with wide eyes."
},
{
speaker: "abella",
text: "Holy shit… your body is still a foot away and this thing is already digging into my stomach. How the fuck is it this long? How do you even play every sport with a cock this massive hanging between your legs?"
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/abella/abellaEvent4Handjob1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "player",
text: "Shut the fuck up, slut. Stop talking and stroke this big dick."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/abella/abellaEvent4Handjob2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "Abella immediately wrapped both hands around it and started stroking, still staring at the size."
},
{
speaker: "player",
text: "Drop to your knees, whore."
},
{
type: "narration",
text: "She slid off the table and dropped to her knees in front of you. Up close her eyes went even wider."
},
{
speaker: "abella",
text: "Fuck… it looks even bigger from down here. My hands don't even cover half of it."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/abella/abellaEvent4Handjob3.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She kept stroking, long steady strokes from base to tip."
},
{
speaker: "player",
text: "I'm your fucking professor right now, bitch. And I'm going to teach you what oscillation actually is. Keep stroking."
},
{
speaker: "abella",
text: "Yes, professor…"
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/abella/abellaEvent4Handjob4.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "player",
text: "The way you're sliding your hands all the way up and down this cock—that's oscillation. Don't stop."
},
{
speaker: "abella",
text: "So me jerking this fat cock up and down is oscillation?"
},
{
speaker: "player",
text: "Exactly. Now don't stop."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/abella/abellaEvent4Handjob5.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "Abella stroked faster, spit running down your shaft, eyes locked on your cock."
},
{
speaker: "abella",
text: "Cum for me, professor. Cum all over my tits."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/abella/abellaEvent4Cum1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You took your cock from her hands and stroked it yourself right in front of her face. A few seconds later you came hard, thick ropes shooting across her tits."
},
{
speaker: "abella",
text: "Fuck… there's so much. It's so warm… it's dripping down my stomach."
},
{
type: "narration",
text: "She wiped some of it with her fingers, then pulled her top back down and stood up, still breathing hard."
},
{
speaker: "abella",
text: "I sat here for hours not understanding a single word… and it was this simple the whole time."
},
{
speaker: "player",
text: "You were trying to make it complicated. Just demonstrate the same principle with something you actually understand."
},
{
speaker: "abella",
text: "I still need images and proof for the research though. What am I supposed to do—put my hands around this massive cock and take a picture?"
},
{
speaker: "player",
text: "Just switch it. Use yourself dribbling a basketball instead. Same motion."
},
{
speaker: "abella",
text: "That's actually perfect… thank you for the lesson, professor. My pussy's still throbbing from it."
},
{
type: "narration",
text: "She gave your cock one last lingering look, then grabbed her notebook and left the library with your cum still drying on her skin under her top."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Continue">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You walked onto the basketball court. Abella was already there waiting, spinning the ball on her finger."
},
{
speaker: "player",
text: "You ready for practice?"
},
{
speaker: "abella",
text: "I've been ready. Been thinking about you putting your hands on me again all fucking day."
},
{
speaker: "player",
text: "We'll start with some stretching then."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/abella/abellaEvent5Warmup1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You took her through a proper warm-up, correcting her form whenever she rushed it. Your hands stayed on her longer than necessary and she never once pulled away."
},
{
type: "narration",
text: "After a while you stepped back and nodded toward the three-point line."
},
{
speaker: "player",
text: "Alright. Get to the wing and start shooting from there."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/abella/abellaEvent5Warmup2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "Abella moved into position and began taking shots while you watched and corrected her. By the time practice ended both of you were breathing harder."
},
{
speaker: "abella",
text: "That was good… my whole body's sore as fuck though."
},
{
speaker: "abella",
text: "Tryouts are really close now. This next session might be the only one we get before it. I hope I actually make the team."
},
{
speaker: "player",
text: "You're going to get selected."
},
{
speaker: "player",
text: "You've been bunking classes and skipping assignments just to stay on this court."
},
{
speaker: "player",
text: "You've been training like a fucking animal, and I've been pushing you harder than anyone else out here."
},
{
speaker: "player",
text: "There's no way they'd overlook a dirty little bitch like you."
},
{
type: "narration",
text: "Abella's mouth curved into a small, satisfied smile. She bent down, picked up the ball, and looked back at you."
},
{
speaker: "abella",
text: "I'll see you at the next practice then… don't be late."
},
{
type: "narration",
text: "She turned and walked off the court, still carrying that confident little smirk."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Leave Playground">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You knocked on Abella's door. She opened it looking happy the second she saw you."
},
{
speaker: "abella",
text: "Great, you're here. I was just about to leave for practice."
},
{
speaker: "player",
text: "We're not going anywhere today."
},
{
type: "narration",
text: "Abella blinked, clearly thrown off."
},
{
speaker: "abella",
text: "What? Are you okay? The tryouts are tomorrow."
},
{
speaker: "player",
text: "You've been overtraining for weeks. Recovery is just as important. Today isn't about training. Today is about getting rid of all that stiffness and soreness in your body."
},
{
speaker: "abella",
text: "Yeah… I have been feeling all of that."
},
{
type: "narration",
text: "She sat down next to you on the bed."
},
{
speaker: "abella",
text: "So what do you have in mind? Some kind of massage?"
},
{
speaker: "player",
text: "Something like that."
},
{
type: "narration",
text: "You leaned in and kissed her. Abella kissed you back even harder, already moaning into your mouth."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/abella/abellaEvent6Kiss1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You picked her up and pulled her onto your lap. She immediately yanked her top off. You kissed her deeper while your hands roamed her bare skin."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/abella/abellaEvent6Kiss2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "abella",
text: "Mmm… fuck…"
},
{
type: "narration",
text: "You moved down to her tits and started sucking on them, tongue dragging over her nipples. Abella's head fell back as she moaned louder."
},
{
speaker: "abella",
text: "Ahh… yes… suck them just like that…"
},
{
type: "narration",
text: "You picked her up again, flipped her onto her stomach on the bed, and yanked her pants and panties down in one move. Without another word you buried your face between her legs and started eating her pussy from behind."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/abella/abellaEvent6PussyLicking1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "abella",
text: "Oh my god—fuck—your tongue…"
},
{
type: "narration",
text: "You licked and sucked her without mercy. Abella kept pushing her ass back against your face, moaning louder and dirtier."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/abella/abellaEvent6PussyLicking2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "abella",
text: "Don't stop… eat that pussy… I'm getting so close—"
},
{
type: "narration",
text: "She shoved her ass harder against your mouth as she came, thighs shaking, soaking your face. Her body collapsed onto the bed right after."
},
{
type: "narration",
text: "You quickly stripped out of your pants. While she was still catching her breath you grabbed her hips, flipped her onto her back, and pushed her thighs up toward her chest."
},
{
speaker: "player",
text: "It's not over yet."
},
{
type: "narration",
text: "You went straight back to her pussy, licking and sucking even harder than before. Abella's moans turned almost broken."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/abella/abellaEvent6PussyLicking3.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "abella",
text: "Ahh—fuck—again… your tongue feels so fucking good… don't stop…"
},
{
type: "narration",
text: "She started getting close again, hips twitching under your mouth."
},
{
speaker: "abella",
text: "I'm gonna cum again… keep licking me… fuck—"
},
{
type: "narration",
text: "Right when she was about to tip over you pulled your mouth away and shoved two fingers deep into her cunt, fingering her hard and fast. Abella came instantly, squirting all over your hand and the sheets while her whole body convulsed."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/abella/abellaEvent6Squirt1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She was still trembling when you stood up and put your hard cock right in front of her face. Abella weakly pushed herself up and started worshipping it — soft kisses along the shaft, slow licks over the head — but her arms kept giving out."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/abella/abellaEvent6Exhausted1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "abella",
text: "It's so fucking big… I can barely even stay up…"
},
{
type: "narration",
text: "You saw how exhausted she was. You grabbed a handful of her hair, held your cock just above her face, and started stroking it hard."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/abella/abellaEvent6Stroke1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "player",
text: "Look at you… completely fucked out and still staring at this cock like you need it."
},
{
speaker: "abella",
text: "I do… I want it… I want your cum all over my face…"
},
{
type: "narration",
text: "You stroked faster. Abella kept her mouth open, eyes half-lidded, still twitching from the orgasms."
},
{
speaker: "player",
text: "I'm gonna cover this pretty face. Take every drop."
},
{
speaker: "abella",
text: "Yes… cum on me… please…"
},
{
type: "narration",
text: "You came hard, shooting across her cheeks, lips, and tongue. Abella stayed there with her mouth open, letting it land wherever it wanted while she tried to catch her breath."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/abella/abellaEvent6Cum1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "After a few seconds she spoke, voice still shaky."
},
{
speaker: "abella",
text: "That felt so fucking good… I came so hard… I really needed that. I was so tense from all the training… this let everything out."
},
{
type: "narration",
text: "You were already putting your clothes back on while she lay there recovering."
},
{
speaker: "player",
text: "All the best for tomorrow's tryouts."
},
{
type: "narration",
text: "You gave her one last look — face messy, body spent — and left her room."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Leave her room">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div><img class="background" src="media/background/classroom_bg.jpg">
<<= setup.renderDialogue([
{
type: "narration",
text: "Class ends and most of the students start leaving. You wait a moment before walking up to Angela's desk. She notices you immediately."
},
{
speaker: "player",
text: "Do you have a minute?"
},
{
speaker: "angela",
text: "For you? Always."
},
{
type: "narration",
text: "She leans her hip against the desk, eyes moving over you openly."
},
{
speaker: "player",
text: "I joined a month late. I wanted to ask how I should cover everything I missed."
},
{
speaker: "angela",
text: "Most guys who look like you don't usually care about missed lectures. They're busy with other things."
},
{
type: "narration",
text: "Her gaze drops down your body and slowly climbs back up."
},
{
speaker: "angela",
text: "But here you are, actually asking. I wasn't expecting that."
},
{
speaker: "player",
text: "I just don't want to fall behind."
},
{
speaker: "angela",
text: "That's… really attractive, honestly."
},
{
type: "narration",
text: "She shifts a little closer, voice dropping slightly."
}
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/activity/attendClass_vid5.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "angela",
text: "There is a way. Private sessions. Just you and me."
},
{
speaker: "angela",
text: "I'll go over everything you missed, and I'll use proper examples. Practical ones. So you actually understand it instead of just memorizing."
},
{
speaker: "player",
text: "Practical ones?"
},
{
speaker: "angela",
text: "The kind you feel. Not the kind you only write down."
},
{
type: "narration",
text: "The way she says it leaves very little to the imagination."
},
{
speaker: "angela",
text: "I won't give you notes or handouts. The others already have everything from the past month. Get those from someone else."
},
{
speaker: "angela",
text: "I'll handle the teaching. You show up, pay attention, and put in real effort… and I'll make sure you don't just catch up."
},
{
speaker: "angela",
text: "You'll understand it better than half the class."
},
{
speaker: "player",
text: "That's a strong promise."
},
{
speaker: "angela",
text: "I don't make weak ones."
},
{
speaker: "angela",
text: "Get the notes, catch up as much as you can, and then come see me. I'll take care of the rest."
},
{
type: "narration",
text: "She looks at you like she already knows these private sessions are going to get a lot more interesting than studying."
}
]) >>
<hr>
<center>
<<link "Leave classroom">>
<<run setup.finishEvent()>>
<</link>>
</center><div id = "sceneDialogue">
<img class="background" src="media/background/classroom_bg.jpg">
<<= setup.renderDialogue([
{
type: "narration",
text: "It's already evening when you find Angela still in the classroom, packing up her things."
},
{
speaker: "player",
text: "You told me to come when I was ready. So here I am."
},
{
type: "narration",
text: "Angela looks you up and down, a slow smirk spreading across her face."
},
{
speaker: "angela",
text: "About time. But it's late… and I don't feel like staying in this empty building. Come to my place. We'll do it there."
},
{
type: "narration",
text: "Twenty minutes later the door to her apartment closes behind you."
},
{
speaker: "angela",
text: "Make yourself comfortable on the couch. I'm gonna freshen up and change into something better for teaching."
},
{
type: "narration",
text: "You sit down while she disappears down the hall. The shower runs for a few minutes, then you hear her moving around in the bedroom."
},
{
type: "narration",
text: "A moment later, you feel her come up behind you."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/angela/angelaEvent2WalkIn.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "Angela is wearing a tight red one-piece bikini. The fabric digs into her hips and the neckline plunges so deep her cleavage looks ready to spill out. There's almost nothing left to the imagination."
},
{
speaker: "angela",
text: "Well? You just gonna stare or are you gonna say something?"
},
{
speaker: "player",
text: "Fuck, you look good enough to eat… but these aren't exactly teaching clothes."
},
{
speaker: "angela",
text: "You've been eye-fucking me since day one. Not like there's much left you haven't already imagined."
},
{
type: "narration",
text: "She steps around the couch and stands in front of you, completely unbothered."
},
{
speaker: "angela",
text: "Honestly, even this is overdressed for me. Most nights I just stay in panties… or nothing at all."
},
{
speaker: "player",
text: "You're really not helping."
},
{
speaker: "angela",
text: "Wasn't trying to."
},
{
type: "narration",
text: "She smirks and tilts her head."
},
{
speaker: "angela",
text: "Did you get the notes?"
},
{
type: "narration",
text: "You hand them over. She flips through a few pages."
},
{
speaker: "angela",
text: "Ah… biology. Great. These are actually extremely clear. You might not even need me to explain anything."
},
{
speaker: "player",
text: "I just copied them from Eva while we were talking. Haven't even looked at them since. I still don't know what any of it means — testosterone, estrogen, oxytocin, dopamine, adrenaline, cortisol, trigeminal nerve… none of it."
},
{
type: "narration",
text: "Angela sets the notebook down."
},
{
speaker: "angela",
text: "Oh, this is going to be fun. You really know none of it?"
},
{
speaker: "angela",
text: "Dopamine is a neurotransmitter involved in reward and motivation.\nOxytocin is a hormone associated with social bonding and attachment.\nAdrenaline is a hormone and neurotransmitter that prepares the body for increased activity.\nTestosterone is the primary male sex hormone responsible for libido and secondary sexual characteristics.\nEstrogen is the primary female sex hormone involved in reproductive function and arousal response.\nThe trigeminal nerve is the cranial nerve responsible for sensation in the face and mouth."
},
{
type: "narration",
text: "She finishes without so much as pausing for breath, then looks at you expectantly."
},
{
speaker: "angela",
text: "Clear?"
},
{
speaker: "player",
text: "What the hell was that? You just threw all that at me in one breath and expected me to understand it."
},
{
type: "narration",
text: "Angela's lips curl into a knowing smile."
},
{
speaker: "angela",
text: "Yeah... I figured that might happen."
},
{
speaker: "player",
text: "You did that on purpose, didn't you?"
},
{
speaker: "angela",
text: "Maybe."
},
{
type: "narration",
text: "She steps closer."
},
{
speaker: "angela",
text: "Don't worry. I've got a much better way to explain it to you."
},
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Continue">>
<<append "#sceneDialogue">>
<<= setup.renderDialogue([
{
type: "narration",
text: "She grabs the front of your shirt and pulls you into a deep, messy kiss, tongue sliding against yours like she's been thinking about it all day."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/angela/angelaEvent2Kiss1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "angela",
text: "That pressure… the heat… the way my tongue felt against yours. That's your trigeminal nerve registering all of it."
},
{
type: "narration",
text: "She kisses you again, slower this time, sucking lightly on your bottom lip before letting go."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/angela/angelaEvent2Kiss2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "angela",
text: "And that little hunger you just felt? The part of you that already wants another one? That's your dopamine screaming for more."
},
{
type: "narration",
text: "Her next kiss is deeper. She presses her body flush against yours, one hand sliding up into your hair."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/angela/angelaEvent2Kiss3.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "angela",
text: "Feel that sudden need to keep me right here? That warm, sticky closeness? That's your oxytocin kicking in."
},
{
type: "narration",
text: "She doesn't give you much time to breathe before kissing you again, harder, almost like she's trying to steal the air out of your lungs."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/angela/angelaEvent2Kiss4.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "angela",
text: "Your heart's racing. You're breathing faster. Your skin's getting hot. That's adrenaline, baby. Your body knows something good is happening."
},
{
type: "narration",
text: "This time when she kisses you, she grinds against the front of your pants just enough for you to feel it."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/angela/angelaEvent2Kiss5.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "angela",
text: "And that… that thick, heavy throb between your legs? Pure testosterone. Your cock doesn't lie."
},
{
type: "narration",
text: "She grabs your wrist and shoves your hand between her legs. The red fabric is stuck to her, completely wet."
},
{
speaker: "angela",
text: "I've been soaking through my panties for you since the moment you walked into my class. That's your estrogen lesson right there…"
},
{
type: "narration",
text: "Angela's voice stays even, almost clinical, but her eyes are anything but."
},
{
speaker: "angela",
text: "See? Much easier when I show you."
},
{
speaker: "player",
text: "Fuck yeah… I don't think I'm ever forgetting this lesson."
},
{
type: "narration",
text: "Angela slowly pulls your hand away and steps back, still watching you."
},
{
speaker: "angela",
text: "Good. Lesson over. Now go before I forget we're supposed to be studying."
},
]) >>
<</append>>
<<replace "#continue1">>
<div id = "continue2">
<hr>
<center>
<<link "Get out of her room">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
</div><div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/activity/attendClass_vid5.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "The moment the last student left the classroom, you shut the door and walked straight up to Angela. You didn't ask. You just grabbed her by the waist and kissed her hard."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/angela/angelaEvent3Kiss.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She let it happen for a few seconds — tongue, heat, the soft sound of it — before she broke the kiss and looked at you with a dangerous little smile."
},
{
speaker: "angela",
text: "Do that again in here and I'll bend you over this desk and teach the entire class human reproduction using your cock as the main visual aid."
},
{
speaker: "player",
text: "When's the next private lesson?"
},
{
speaker: "angela",
text: "Whenever you bring me the notes."
},
{
type: "narration",
text: "You exhaled, clearly not happy with that answer."
},
{
speaker: "player",
text: "Do we really need the notes? The way you teach… I'm not forgetting a single fucking thing. Your methods stick."
},
{
speaker: "angela",
text: "The notes still get you credits. And I don't want my favorite student losing points just because he'd rather learn with his tongue and fingers instead of a notebook."
},
{
speaker: "player",
text: "Fine. I'll take them from Eva."
},
{
speaker: "angela",
text: "Eva's a good choice. But for Physics, you should talk to Riley. She keeps the best notes."
},
{
speaker: "player",
text: "Come on… Biology was already filthy as hell. Why switch to Physics?"
},
{
speaker: "angela",
text: "Trust me. Physics is so much better. I think you'll find the practical demonstration particularly… educational."
},
{
type: "narration",
text: "The way she said it left no doubt what kind of 'demonstration' she meant."
},
{
speaker: "player",
text: "…Fine. I'll get the notes from Riley."
},
{
type: "narration",
text: "Angela smirked, clearly pleased, as you turned and left the classroom."
}
]) >>
<hr>
<center>
<<link "Get out of classroom">>
<<run setup.finishEvent()>>
<</link>>
</center><div id = "sceneDialogue">
<img class="background" src="media/event/angela/angelaEvent4.jpg">
<<= setup.renderDialogue([
{
type: "narration",
text: "You walked into the cafeteria and saw Angela and Riley sitting together with coffee. You went straight over."
},
{
speaker: "player",
text: "Didn't expect to find the two hottest girls on campus at the same table."
},
{
type: "narration",
text: "Riley's cheeks went pink. Angela just smirked like she already knew where this was going."
},
{
speaker: "angela",
text: "Keep talking like that and one of us is gonna drag you out of here."
},
{
speaker: "player",
text: "I already got the Physics notes. Figured I'd collect on that private class."
},
{
speaker: "angela",
text: "You got them already?"
},
{
speaker: "player",
text: "From the same beautiful girl you told me had the best ones."
},
{
type: "narration",
text: "Riley looked down at her cup, trying not to smile too hard."
},
{
speaker: "angela",
text: "Told you he was sharp. Big muscles, bigger brain… dangerous combination."
},
{
speaker: "riley",
text: "Yeah… everything about him is just really big."
},
{
type: "narration",
text: "Angela took it literally. You didn't."
},
{
speaker: "angela",
text: "Since you've got the notes, you might as well come back to my place with me"
},
{
type: "narration",
text: "A few minutes later you were in her apartment. You barely sat down on the sofa before she pointed toward the bedroom."
},
{
speaker: "angela",
text: "Go get comfortable on the bed and take everything off, because I don't intend to waste any time once I come back."
},
])>>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Get Naked">>
<<append "#sceneDialogue">>
<<= setup.renderDialogue([
{
type: "narration",
text: "You did as you were told. A minute later you felt her presence behind your head before you saw her."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/intimacy/angela/angelaRoomKiss3.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She leaned down and shoved her tongue into your mouth, kissing you deep and filthy while a soft moan slipped out of her."
},
{
speaker: "angela",
text: "Mmm… good. You're already hard. Perfect. I'm going to need that cock for this lesson."
},
{
speaker: "player",
text: "It's not even fully hard yet. You're going to have to do a lot more than kiss me if you want me completely ready."
},
{
type: "narration",
text: "Angela pulled back slightly and looked down between your legs, eyes widening."
},
{
speaker: "angela",
text: "Jesus Christ. It's already bigger soft than the biggest hard dick I've ever seen."
},
{
speaker: "player",
text: "Give me a few seconds with your tits in my mouth and you'll see how much bigger it gets."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/angela/angelaEvent4Lick1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You pulled her down, shoved her top aside, and latched onto one nipple, sucking hard while your tongue worked over it. Angela's breath hitched immediately."
},
{
speaker: "angela",
text: "Ahh… fuck—"
},
{
type: "narration",
text: "You kept going, switching between both breasts until she was breathing heavy. Then she suddenly pushed you back."
},
{
speaker: "angela",
text: "Shit… I can feel it against my pussy. It's like someone put a forearm between my legs, just heavier and hotter. Get off me before I forget this is supposed to be a class."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/angela/angelaEvent4Handjob1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You lay flat. Angela climbed onto the bed and sat between your thighs. She wrapped both hands around your cock and stared at it for a second."
},
{
speaker: "angela",
text: "Look at this fucking thing. Thick, heavy, and already so fucking hard… and I haven't even started."
},
{
type: "narration",
text: "She kept the slow pace, thumb dragging over the head every few strokes."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/angela/angelaEvent4Boobjob1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "After a while she shifted, pushed her tits together around your cock, and started moving."
},
{
speaker: "angela",
text: "There we go… fuck my tits properly."
},
{
speaker: "player",
text: "They're so fucking soft… and tight when you squeeze them like that."
},
{
speaker: "angela",
text: "Yeah? Then don't hold back. Use them."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/angela/angelaEvent4Boobjob2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She picked up the pace, bouncing her tits up and down your length, spit running down between them to keep it wet."
},
{
speaker: "angela",
text: "That's it… stretch them out with that thick cock."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/angela/angelaEvent4Handjob2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She suddenly pulled back, grabbed your dick again, and started jerking you fast and hard."
},
{
speaker: "angela",
text: "You wanna fuck my tits again after this, don't you?"
},
{
speaker: "player",
text: "I want to cover them. Then fuck them again while they're still messy."
},
{
speaker: "angela",
text: "Then cum. I want your cum. Shoot it all over my face so you can fuck my tits while I'm still dripping with it."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/angela/angelaEvent4Cum1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She stroked you faster, tighter, eyes locked on yours until you came hard across her face — thick ropes landing on her cheeks, lips, and tongue."
},
{
type: "narration",
text: "Angela lay back on the bed, breathing hard, cum still on her face. Then her eyes dropped between your legs and widened."
},
{
speaker: "angela",
text: "You're still rock hard… after all that. What the fuck."
},
])>>
<</append>>
<<replace "#continue1">>
<div id = "continue2">
<hr>
<center>
<<link "Fuck her tits">>
<<append "#sceneDialogue">>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/angela/angelaEvent4Boobjob3.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You moved up, straddled her chest, and pushed your cock back between her tits while she sucked you balls, moning against them as she rubbed her pussy like she couldn't stop."
},
{
speaker: "player",
text: "Keep them pressed together. I'm not stopping until I coat them."
},
{
type: "narration",
text: "You fucked her tits hard, the wet sound of it filling the room. After a while she slipped out from under you and dropped to her knees on the floor."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/angela/angelaEvent4Boobjob4.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "Angela pushed her big tits together around your cock again and started bouncing them up and down your length, spit-slick and tight."
},
{
speaker: "angela",
text: "That's it… use them. Fuck my tits like you own them."
},
{
speaker: "player",
text: "Show me that tongue. You've been wanting this cum since we walked in the door."
},
{
type: "narration",
text: "She stuck her tongue out immediately, looking up at you while she kept working her tits around your cock. The head of your dick kept sliding against her tongue with every thrust."
},
{
speaker: "angela",
text: "Mmm… give it to me. Cover them."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/angela/angelaEvent4Cum2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You lasted only a little longer before you came hard, thick ropes shooting across her tits while she kept stroking you between them until you finished."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/angela/angelaEvent4Swallow1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She slowly gathered every drop with her fingers, licked her hand clean, and opened her mouth to show you it was gone."
},
{
speaker: "angela",
text: "Tastes even better than I expected… thick and fucking sweet."
},
{
speaker: "player",
text: "You didn't teach me a single thing about Physics."
},
{
speaker: "angela",
text: "Fuck Physics. Your dick made me forget we were even supposed to be studying."
},
{
type: "narration",
text: "She stood up, still messy, and nodded toward the door."
},
{
speaker: "angela",
text: "I'm taking a shower. You can let yourself out… before I decide I'm not done with you."
}
])>>
<</append>>
<<replace "#continue2">>
<div id = "continue3">
<hr>
<center>
<<link "Leave her room">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/angela/angelaEvent5Kiss1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "The second the last student left the classroom, you walked straight up to Angela, shoved her back onto the desk, and kissed her hard. One hand filled with her massive soft tit, squeezing it roughly while your tongue slid deep into her mouth."
},
{
type: "narration",
text: "When you finally broke the kiss she was already smiling that filthy little smile."
},
{
speaker: "angela",
text: "Didn't I warn you not to do that in my classroom… or I'll use that thick cock of yours as a teaching aid in front of everyone?"
},
{
speaker: "player",
text: "Just revising the last biology lesson. My nerves still remember exactly how your tongue felt."
},
{
type: "narration",
text: "Angela let out a short, dirty laugh."
},
{
speaker: "player",
text: "What subject are we doing next?"
},
{
speaker: "angela",
text: "Chemistry. Let's just say I'm expecting some interesting reactions."
},
{
speaker: "player",
text: "Any suggestions on whose notes I should steal?"
},
{
speaker: "angela",
text: "Jane's. Her chemistry notes are perfect… almost as perfect as the way you're still staring at my tits."
},
{
type: "narration",
text: "You gave her a slow, hungry look, eyes dropping to her chest and then back up."
},
{
speaker: "player",
text: "I'll see you soon then… and next time I won't stop at just kissing and groping these."
},
{
type: "narration",
text: "Angela bit her lip, clearly already thinking about it as you turned and walked out of the classroom."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Leave classroom">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You knocked on Angela's door. She opened it with that slow, filthy smile already on her face."
},
]) >>
<img class="background" src="media/event/angela/angelaEvent6.jpg">
<<= setup.renderDialogue([
{
speaker: "angela",
text: "About time. I've been waiting for you… and this thick cock."
},
{
speaker: "player",
text: "Would've come earlier if I knew you were this ready to be used."
},
{
speaker: "angela",
text: "Sit down. Hand me the notes."
},
{
type: "narration",
text: "You sat on the sofa and gave her the notebook. Angela flipped through it once, then tossed it aside."
},
{
speaker: "angela",
text: "Today's class is chemistry."
},
{
speaker: "angela",
text: "pH scale runs from 0 to 14."
},
{
speaker: "angela",
text: "Anything under 7 is acid. Those usually taste sour as fuck."
},
{
speaker: "angela",
text: "Anything over 7 is base. Those taste bitter."
},
{
speaker: "angela",
text: "Right in the middle at 7 is neutral… basically no taste."
},
{
speaker: "angela",
text: "You're going to sample everything I put in front of you and tell me exactly what it is."
},
{
type: "narration",
text: "She walked right up to you, yanked her top down, and shoved her massive soft tits into your face."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/angela/angelaEvent6Lick1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "angela",
text: "Start tasting. Tell me what my tits are."
},
{
type: "narration",
text: "You immediately latched onto one thick nipple, sucking hard while your tongue worked over it. Your other hand squeezed the heavy breast roughly. Angela moaned low and filthy."
},
{
speaker: "angela",
text: "Mmm—fuck… look at you sucking on these like a starving dirty boy… how do they taste?"
},
{
type: "narration",
text: "She pulled back just enough to sit on the sofa next to you, grabbed your face, and kissed you hard and deep, moaning into your mouth the whole time. When she broke the kiss she was breathing heavier."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/angela/angelaEvent6Kiss1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "Without a word she stood, slid her panties off, and sat back down with her legs spread. You already knew what she wanted. You dropped to your knees between her thighs and buried your mouth in her dripping pussy."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/angela/angelaEvent6PussyLicking1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "angela",
text: "Ahh—yes… eat that wet cunt… tongue it properly…"
},
{
type: "narration",
text: "You licked and sucked her like you were starving, tongue sliding deep while she kept moaning and pushing your head closer."
},
{
speaker: "angela",
text: "Fuck—just like that… don't you dare stop… I'm getting so close—"
},
{
type: "narration",
text: "You kept going exactly as she ordered. Angela's thighs clamped around your head as she came hard, flooding your mouth and chin with her cum."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/angela/angelaEvent6PussyLicking2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She immediately pulled you up by the hair and kissed you wildly again, tasting herself on your tongue. When she finally broke it she was still twitching."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/angela/angelaEvent6Kiss2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "angela",
text: "Shit… I haven't cum that hard in so fucking long."
},
{
speaker: "angela",
text: "Now tell me. How did my tits taste? My mouth? My pussy?"
},
{
speaker: "player",
text: "Everything tasted sweet. I might need to sample all of it again just to be sure."
},
{
type: "narration",
text: "Angela gave you that dirty little smile."
},
{
speaker: "angela",
text: "You can taste me whenever you want… but there's one more sample left."
},
{
type: "narration",
text: "She dropped to her knees between your legs, pulled your cock out, and just stared at it for a second while slowly stroking the thick shaft."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/angela/angelaEvent6Handjob1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "angela",
text: "Jesus fucking Christ… this cock is massive. Look at how thick and heavy it is in my hand…"
},
{
type: "narration",
text: "She pushed her huge tits together around your cock and started sliding them up and down the length."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/angela/angelaEvent6Boobjob1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "angela",
text: "Feel that? These big soft tits wrapped tight around this fat cock…"
},
{
speaker: "player",
text: "They're perfect for getting fucked. Keep squeezing them."
},
{
type: "narration",
text: "You grabbed a fistful of her hair and started thrusting hard between her massive tits, watching the head of your cock disappear and pop back out."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/angela/angelaEvent6Boobjob2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "angela",
text: "That's it… fuck my tits… use them like a dirty little fucktoy…"
},
{
speaker: "player",
text: "These soft tits were made to get covered in cum."
},
{
type: "narration",
text: "You kept thrusting faster. Angela looked up at you with pure hunger."
},
{
speaker: "angela",
text: "I want your cum… shoot it all over these massive tits. I want to taste every drop of it."
},
{
speaker: "player",
text: "Then take it, slut."
},
{
type: "narration",
text: "You came hard, thick ropes painting her gigantic tits while you kept thrusting between them until you were empty."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/angela/angelaEvent6Cum1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "Angela immediately scooped every drop off her soft skin with her fingers and pushed it all into her mouth. She swallowed slowly, then opened her mouth to show you it was gone."
},
{
speaker: "angela",
text: "Fuck… even your cum tastes sweet. I might need to sample that again too."
},
{
type: "narration",
text: "You gave her a filthy smile. Angela stood up, still messy, and started walking toward the other room."
},
{
speaker: "angela",
text: "If you need a revision… come back later and we can do every single sample again. For now, get out."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Leave her room">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div><<= setup.renderCurrentActivity()>>
<center>
<<link "Continue">>
<<run setup.finishActivity()>>
<</link>>
</center><div class="guide-container">
<div class="guide-intro">
<div class="guide-intro-title">
Need a little help?
</div>
<div class="guide-intro-text">
See something greyed out? Move along, champ. She might be out, or the room might still be off-limits.<br>Can't interact with her yet? You'll meet her when the time comes. 😉
</div>
</div>
<<set _guides = setup.getAllGuides()>>
<<set _owners = Object.keys(_guides)>>
<<for _i = 0; _i < _owners.length; _i++>>
<<set _owner = _owners[_i]>>
<<set _guide = _guides[_owner]>>
<<for _i = 0; _i < _owners.length; _i++>>
<<set _owner = _owners[_i]>>
<div class="guide-entry">
<<= setup.renderGuideDialogue(_owner)>>
</div>
<</for>>
<</for>>
</div><<= setup.renderCurrentIntimacy()>><<= setup.renderLocation()>><<= setup.renderCurrentActivity()>>
<center>
<<link "Wake Up">>
<<run setup.finishSleep()>>
<</link>>
</center><img class="background" src="media/background/classroom_bg.jpg">
<div id="sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "Class had just ended. Most students were already packing up and leaving. Eva was quietly putting her things away when she glanced at you beside her. The second your eyes met, her whole face softened into the warmest little smile."
},
{
speaker: "player",
text: "Hey Eva."
},
{
speaker: "eva",
text: "Hi."
},
{
type: "narration",
text: "She tucks a strand of hair behind her ear, still smiling like just talking to you is the best part of her day."
},
{
speaker: "player",
text: "Can I ask you for a favor? I need last month's notes. I'm kind of drowning trying to catch up."
},
{
speaker: "eva",
text: "Of course."
},
{
type: "narration",
text: "She reaches into her bag and pulls out a notebook. Then another. And another."
},
{
speaker: "player",
text: "...How many notebooks do you have?"
},
{
speaker: "eva",
text: "You came a month late."
},
{
speaker: "player",
text: "Right. Fair enough."
},
{
type: "narration",
text: "She looks at the small pile, then picks one up."
},
{
speaker: "eva",
text: "Here. Start with this one."
},
{
speaker: "player",
text: "Biology?"
},
{
speaker: "eva",
text: "Yeah. That's probably a good place to start."
},
{
speaker: "player",
text: "Okay…"
},
{
type: "narration",
text: "You open the notebook, flipping through a few pages."
},
{
speaker: "player",
text: "These are insanely detailed."
},
{
speaker: "eva",
text: "I told you. I write everything down."
},
{
type: "narration",
text: "You point at a particularly tiny line."
},
{
speaker: "player",
text: "What does this even say?"
},
{
type: "narration",
text: "She leans in close. Her shoulder presses gently against yours. She doesn't pull away."
},
{
speaker: "eva",
text: "That's mitochondria."
},
{
speaker: "player",
text: "That says mitochondria?"
},
{
speaker: "eva",
text: "Yes."
},
{
type: "narration",
text: "She's smiling, a little embarrassed."
},
{
speaker: "player",
text: "Your handwriting is tiny as hell."
},
{
speaker: "eva",
text: "I know…"
},
{
type: "narration",
text: "She glances at you sideways, cheeks already pink, but the smile doesn't leave her face."
},
{
speaker: "player",
text: "I'm going to need your help with some of this. Would you stay a little and walk me through the parts I can't read? Please?"
},
{
speaker: "eva",
text: "Yeah. Of course I'll stay."
}
]) >>
</div>
<div id="continue1">
<hr>
<center>
<<link "Continue">>
<<append "#sceneDialogue">>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/eva/evaTalk.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She nods immediately, eyes bright. She shifts her chair even closer until her knee rests against yours under the table and leaves it there. Every time you look up she's already looking at you. When your eyes meet she holds the gaze, soft and open, before glancing down with that small private smile that only seems to exist for you."
},
{
type: "narration",
text: "A few quiet minutes pass while she explains and you write. She keeps finding little reasons to lean in."
},
{
speaker: "player",
text: "You looked like you were in a hurry earlier. Boyfriend waiting for you at the library or something?"
},
{
speaker: "eva",
text: "No. I don't have a boyfriend."
},
{
type: "narration",
text: "She lets out a soft laugh, shaking her head."
},
{
speaker: "player",
text: "Seriously? I just… I figured someone would've gotten to you by now. You're beautiful, you're smart, you're kind… I honestly assumed you already had someone."
},
{
speaker: "eva",
text: "No. I've never had a boyfriend."
},
{
speaker: "player",
text: "How is that possible? You're so beautiful. And ridiculously smart."
},
{
speaker: "eva",
text: "A few people have asked. But the thought of dating always… kind of creeped me out. I never felt ready for any of it."
},
{
speaker: "player",
text: "Don't tell me you're into girls then."
},
{
speaker: "eva",
text: "No. I'm not. I just never felt it with anyone before."
},
{
type: "narration",
text: "She quickly shakes her head, still smiling a little despite the blush."
},
{
speaker: "player",
text: "Good. Was starting to worry you only got off to lesbian porn."
},
{
speaker: "eva",
text: "Umm… I've never seen porn."
},
{
type: "narration",
text: "Her face goes properly red."
},
{
speaker: "player",
text: "What? You're serious?"
},
{
speaker: "eva",
text: "Yeah…"
},
{
speaker: "player",
text: "Then what do you think about when you touch yourself?"
},
{
speaker: "eva",
text: "I've never… masturbated. I don't really know how. Or what I'm supposed to feel."
},
{
type: "narration",
text: "Her voice is barely above a whisper. She's staring hard at the desk, so embarrassed her ears are pink, but she still hasn't moved her knee away from yours. When she finally risks a glance up, her eyes are shy and trusting all at once."
},
{
type: "narration",
text: "You finally finish copying the first chapter. There's plenty more left, but neither of you seems particularly eager to break the moment just yet."
}
]) >>
<</append>>
<<replace "#continue1">>
<div id="continue2">
<hr>
<center>
<<link "Continue">>
<<append "#sceneDialogue">>
<<= setup.renderDialogue([
{
speaker: "player",
text: "Eva… all that stuff about dating feeling creepy. It only feels that way when it's the wrong person. When it's the right one, it doesn't feel scary at all. It feels good. Safe. Like you actually want more of it. Like just sitting next to them already makes everything else quieter."
},
{
type: "narration",
text: "Eva is quiet for a second. Her cheeks are warm. She looks at you like she's deciding whether to be brave."
},
{
speaker: "eva",
text: "…Do you mean the way I feel right now? When I'm around you it doesn't feel scary. It just feels… nice. I like it. I've never felt this with anyone else."
}
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/eva/evaInvite.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You smile softly, watching the shy little smile on her face."
},
{
speaker: "player",
text: "Then... I'd like to take you out sometime. A real date. Whenever you're ready."
},
{
type: "narration",
text: "Eva freezes for a second, her eyes widening before the brightest smile spreads across her face. Her cheeks turn pink almost instantly."
},
{
speaker: "eva",
text: "I'd... really like that."
},
{
speaker: "player",
text: "Tuesday evening. Coffee?"
},
{
type: "narration",
text: "She nods quickly, still smiling, then looks down, suddenly too shy to meet your eyes."
},
{
speaker: "eva",
text: "Yes..."
},
{
type: "narration",
text: "She gives your hand a gentle squeeze, her smile refusing to fade."
}
]) >>
<</append>>
<<replace "#continue2">>
<div id="continue3">
<hr>
<center>
<<link "Continue">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You reach the meeting spot and find Eva already waiting. The second she sees you, her face lights up. She's holding two cups of coffee and immediately holds one out to you."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/eva/evaEvent2Exchange.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "eva",
text: "I got us coffee. I didn't know what you liked so I just got the same as mine."
},
{
type: "narration",
text: "You take it. Her fingers brush yours."
},
{
type: "narration",
text: "Then you bring the bouquet out from behind you."
},
{
speaker: "player",
text: "These are for you."
},
{
speaker: "player",
text: "For the most beautiful girl I've seen since I got here."
},
{
type: "narration",
text: "Eva freezes for a second, eyes wide, then carefully takes the roses. Her cheeks turn pink almost immediately."
},
{
speaker: "eva",
text: "You… really think that?"
},
{
speaker: "player",
text: "I wouldn't say it if I didn't."
},
{
type: "narration",
text: "She looks down at the flowers, then back at you, smiling like she's trying not to show how happy she is."
},
])>>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Sit Together">>
<<append "#sceneDialogue">>
<<= setup.renderDialogue([
{
type: "narration",
text: "You sit together on a quiet bench. Eva keeps the bouquet close, occasionally glancing at it like she still can't quite believe it's real. The conversation stays light and easy — nothing about classes or studying. Just the two of you."
},
{
speaker: "eva",
text: "This still feels a little unreal."
},
{
speaker: "player",
text: "What does?"
},
{
speaker: "eva",
text: "Sitting here with you like this."
},
{
type: "narration",
text: "She gives a small laugh."
},
{
speaker: "eva",
text: "I used to think people only felt like this in stories."
},
{
type: "narration",
text: "You're about to answer when your phone rings. Grandma is calling on video."
},
{
type: "narration",
text: "You answer."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/eva/evaEvent2GrandmaCall.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "grandma",
text: "There you are. I was starting to think you forgot about me."
},
{
speaker: "player",
text: "I'm here."
},
{
type: "narration",
text: "That's when she notices Eva sitting beside you."
},
{
speaker: "grandma",
text: "Oh. Hello there."
},
{
type: "narration",
text: "Eva straightens a little, polite and a bit nervous."
},
{
speaker: "eva",
text: "Hello, ma'am."
},
{
speaker: "grandma",
text: "Ma'am makes me feel old. You can call me Grandma if you want."
},
{
type: "narration",
text: "She smiles warmly."
},
{
speaker: "grandma",
text: "Aren't you lovely. Really lovely."
},
{
type: "narration",
text: "Eva's cheeks flush."
},
{
speaker: "grandma",
text: "What's your name, sweetheart?"
},
{
speaker: "eva",
text: "Eva."
},
{
speaker: "grandma",
text: "Eva. It suits you."
},
{
type: "narration",
text: "She looks between the two of you for a moment, clearly pleased."
},
{
speaker: "grandma",
text: "You two look like you were made for each other."
},
{
type: "narration",
text: "Eva's blush deepens."
},
{
speaker: "grandma",
text: "You be good to her, you hear me? A girl like that doesn't come around twice."
},
{
speaker: "player",
text: "I will."
},
{
speaker: "grandma",
text: "Good. It was very nice meeting you, Eva."
},
{
speaker: "eva",
text: "You too."
}
])>>
<</append>>
<<replace "#continue1">>
<div id = "continue2">
<hr>
<center>
<<link "Hang Up">>
<<append "#sceneDialogue">>
<<= setup.renderDialogue([
{
type: "narration",
text: "Eva is still smiling."
},
{
speaker: "eva",
text: "She's… honestly the coolest."
},
{
speaker: "player",
text: "She's been like that my whole life. I grew up with her."
},
{
type: "narration",
text: "Eva looks at you, curious."
},
{
speaker: "eva",
text: "What about your parents?"
},
{
type: "narration",
text: "You take a second."
},
{
speaker: "player",
text: "They died when I was very young. Car accident. Grandma raised me."
},
{
speaker: "eva",
text: "I'm sorry."
},
{
speaker: "player",
text: "It's okay. I turned out fine."
},
{
type: "narration",
text: "She nods quietly, staying close."
},
{
type: "narration",
text: "Later, when it's time to head back, the two of you walk toward the hostel. Eva doesn't seem ready for the day to end. At the entrance she stops."
},
{
speaker: "eva",
text: "Do you want to come in?"
},
{
speaker: "player",
text: "Only if you want me to."
},
{
speaker: "eva",
text: "I do."
}
])>>
<</append>>
<<replace "#continue2">>
<div id = "continue3">
<hr>
<center>
<<link "Back to Hostel">>
<<append "#sceneDialogue">>
<<= setup.renderDialogue([
{
type: "narration",
text: "Inside her room, she places the bouquet carefully on the table. Then she stays there, body facing away from you, but turns her face slightly over her shoulder — waiting."
},
{
type: "narration",
text: "You take the hint."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/eva/evaEvent2Kiss.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You step up behind her, one arm wrapping around her waist as you pull her back against you. Your mouth finds hers from the side. She melts into the kiss immediately. At the same time your other hand moves down, unzips her pants, and slips inside. Your fingers meet warm wetness — she's already soaked."
},
{
speaker: "eva",
text: "Mmh…"
},
{
type: "narration",
text: "You keep kissing her while your fingers slowly move between her legs. She presses back against you, breathing harder."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/eva/evaEvent2Boobs.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "After a moment you turn her around properly. The kiss deepens. Your hands slide under her shirt. She doesn't stop you. You lift the fabric, exposing her breasts — full, soft, with pink nipples already tight. You lower your head and take one into your mouth, tongue circling the nipple before sucking."
},
{
speaker: "eva",
text: "Ah… that feels so good…"
},
{
type: "narration",
text: "Her fingers slide into your hair as you switch to the other breast, kissing and sucking, letting your tongue drag over the sensitive peak."
},
{
speaker: "eva",
text: "Mmh… don't stop…"
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/eva/evaEvent2ClothesOff.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You pull her shirt the rest of the way off. She's bare from the waist up now, breathing faster. You kiss her again while your hands stay on her breasts, thumbs brushing over her wet nipples."
},
{
type: "narration",
text: "She returns the kiss hungrily for a moment — then suddenly her hands come up between you."
},
{
type: "narration",
text: "She doesn't push hard. Just enough."
},
{
speaker: "eva",
text: "Wait…"
}
])>>
<</append>>
<<replace "#continue3">>
<div id = "continue4">
<hr>
<center>
<<link "You Okay?">>
<<append "#sceneDialogue">>
<<= setup.renderDialogue([
{
type: "narration",
text: "Her voice is shaky, breath still uneven from everything she just felt."
},
{
speaker: "eva",
text: "I like this. I like all of it. More than I thought I would."
},
{
type: "narration",
text: "She swallows, trying to steady her breathing."
},
{
speaker: "eva",
text: "It's just… a lot. In the best way. I've never done any of this before. Not even close. And with you it feels so good it almost scares me how much I want to keep going."
},
{
type: "narration",
text: "She looks up at you, cheeks flushed, eyes honest."
},
{
speaker: "eva",
text: "I don't want to stop because I don't like it. I want to stop because I like it too much… and I want to feel every part of it properly."
},
{
type: "narration",
text: "You brush a strand of hair from her face."
},
{
speaker: "player",
text: "Then we stop here."
},
{
type: "narration",
text: "She lets out a soft breath and rests her forehead against yours."
},
{
speaker: "eva",
text: "Thank you."
},
{
type: "narration",
text: "She doesn't pull away, instead wrapping her arms around you and burying her face against your chest, her heartbeat still racing."
},
{
type: "narration",
text: "You hold her close. For a long moment, neither of you says a word."
}
])>>
<</append>>
<<replace "#continue4">>
<div id = "continue5">
<hr>
<center>
<<link "To Your Room">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/eva/evaEvent3Exercise1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You were on the playground taking shots when you noticed Eva standing just outside the lines. She was dressed in a football kit, cheering every shot you took like you were already her favorite player."
},
{
speaker: "brad",
text: "Damn, bro. You're brand new and you already got a girl out here screaming for you like that?"
},
{
type: "narration",
text: "You laughed and wiped sweat off your forehead."
},
{
speaker: "player",
text: "What can I say? Some girls just know quality cock when they see it on the field."
},
{
type: "narration",
text: "After a few more shots you walked over to her. The second you got close Eva jumped on you, arms tight around your neck, body pressed flush against yours."
},
{
speaker: "eva",
text: "Fuck… you look so hot when you play. I get so wet just watching you dominate the field."
},
{
speaker: "player",
text: "Keep talking like that and I'll bend you over right here on the grass."
},
{
speaker: "player",
text: "What are you even doing out here dressed like this?"
},
{
speaker: "eva",
text: "Girls' football tryouts are coming up. I want in. I saw you play and… I don't know, I just wanted to be part of something you're good at. Plus it gives credits, so why the fuck not."
},
{
type: "narration",
text: "You couldn't help the small laugh that came out. She was too fucking cute."
},
{
speaker: "player",
text: "You don't even play, do you?"
},
{
speaker: "eva",
text: "No… but I can learn. Especially if you're the one teaching me."
},
{
speaker: "player",
text: "Alright then. Let's see what you've got. Go stand on the penalty spot and kick the ball to me."
},
{
type: "narration",
text: "Eva just stared at you with a completely blank, slightly embarrassed look."
},
{
speaker: "player",
text: "You have no idea what any of that means, do you?"
},
{
speaker: "eva",
text: "…None. I literally know nothing."
},
{
type: "narration",
text: "You laughed again, softer this time, and stepped closer."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/eva/evaEvent3Exercise2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "player",
text: "Okay, listen. That middle area is the center circle. Up front is where the strikers stay. Back there are the defenders. You're going to start simple — just kicking."
},
{
type: "narration",
text: "You spent the next while teaching her how to plant her foot and strike the ball. She was clumsy as hell at first, but she kept glancing at your mouth and crotch between every attempt like she was already thinking about something else."
},
{
type: "narration",
text: "When it was time to leave she wiped her forehead and looked up at you."
},
{
speaker: "eva",
text: "I know I suck right now… but I'll get good. I'm going to impress the fuck out of you."
},
{
speaker: "player",
text: "Baby, you already impress me every time you look at me like you want this cock. You don't have to do shit on a football field for that."
},
{
type: "narration",
text: "Eva bit her lip and gave you the filthiest little smile."
},
{
speaker: "eva",
text: "I'm still going to try… and when I do impress you, I expect a proper reward."
},
{
type: "narration",
text: "She turned and walked off the field, hips swaying just enough to make sure you watched every step."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Leave playground">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You walked onto the playground and found Eva already waiting with a football under her arm. The second she saw you her whole face lit up with pure confidence."
},
]) >>
<img class="background" src="media/event/eva/evaEvent5.jpg">
<<= setup.renderDialogue([
{
speaker: "player",
text: "You look way too fucking pleased with yourself."
},
{
speaker: "eva",
text: "I've been practicing non-stop with everything you taught me. I can even curve the ball in the air now. Want to see?"
},
{
speaker: "player",
text: "Show me."
},
{
type: "narration",
text: "Eva jogged a few steps back, set the ball down, and kicked it toward you. She looked so sure of herself that you expected a clean, sharp curve… but the ball only bent a tiny bit. From far away it almost looked like it went straight."
},
{
type: "narration",
text: "She came running up to you, eyes shining."
},
{
speaker: "eva",
text: "How was it? Be honest."
},
{
speaker: "player",
text: "That was impressive as hell. I'm actually impressed."
},
{
speaker: "eva",
text: "I told you I'd impress you. I'm so fucking proud of myself right now."
},
{
speaker: "player",
text: "You should be."
},
{
speaker: "eva",
text: "I want to thank you properly… not just with words."
},
{
type: "narration",
text: "You gave her a slow, dirty smile. You already knew exactly what she meant."
},
{
speaker: "eva",
text: "Come to my room."
},
])>>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Go to her room">>
<<append "#sceneDialogue">>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/eva/evaEvent4Kiss1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "The second her door opened she didn't even wait until you were fully inside. She grabbed your face and kissed you hard. You picked her up, kicked the door shut with your foot, and threw her onto the bed, never breaking the kiss. Eva kept moaning into your mouth the entire time."
},
{
speaker: "eva",
text: "Mmm… fuck… I've been thinking about this all day…"
},
{
speaker: "eva",
text: "Besides football… I've been learning something else. I finally watched porn for the first time and practiced handjob techniques… just for you."
},
{
speaker: "player",
text: "Good girl. Now get this cock out and show me what you learned."
},
{
type: "narration",
text: "Eva pushed your pants down. Your cock sprang free and almost hit her in the face. Her eyes went wide with pure shock."
},
{
speaker: "eva",
text: "Holy fuck… it's huge. Like actually massive. There was nothing even close to this size in the porn I watched. This thing is unreal…"
},
{
type: "narration",
text: "She bit her lip, suddenly looking a little nervous."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/eva/evaEvent4Kiss2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "eva",
text: "I… I don't know if I can even do it properly on a cock this big."
},
{
type: "narration",
text: "You lay back on the bed and looked down at her."
},
{
speaker: "player",
text: "You can do it, slut. Wrap those hands around this thick cock and stroke it. Now."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/eva/evaEvent4Handjob1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "Eva obeyed. She started stroking you with both hands, using everything she'd practiced. She was actually really fucking good — tight grip, perfect rhythm, twisting her wrists on the upstroke. Way better than her football skills."
},
{
speaker: "eva",
text: "Does this thick cock feel good in my hands, baby?"
},
{
speaker: "player",
text: "It feels fucking amazing. Keep going just like that."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/eva/evaEvent4Handjob4.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She leaned up and kissed you while she stroked, moaning softly against your lips. Then she lay down beside you, pressed your cock against her dripping pussy, and kept jerking you hard so the underside rubbed against her wet lips."
},
{
speaker: "eva",
text: "Feel how soaked I am… I've been like this since you lied about my shot."
},
{
speaker: "player",
text: "You're dripping all over my cock, baby. Keep stroking."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/eva/evaEvent4Handjob6.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "After a while you both got off the bed. Eva dropped to her knees, pushed her soft tits together around your cock, and started sliding them up and down your length."
},
{
speaker: "eva",
text: "Fuck… it's so thick it barely fits between them. Look how it stretches my tits."
},
{
speaker: "player",
text: "Don't stop. Keep sliding those soft tits up and down this thick cock."
},
{
speaker: "eva",
text: "Like this…? Fuck, it's so hot throbbing against my skin."
},
{
type: "narration",
text: "Your balls tightened as the pleasure peaked, cock pulsing hard between her soft breasts."
},
{
speaker: "player",
text: "Stop with the tits and stroke this fat cock."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/eva/evaEvent4Cum1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She wrapped both hands around it again and stroked fast and hard, then stuck her tongue out right in front of the head, waiting."
},
{
speaker: "eva",
text: "Cum for me… cover my face. I want all of it."
},
{
type: "narration",
text: "You came hard. Thick ropes shot across her tongue, her cheeks, her lips, and down her chin until her entire face was glazed."
},
{
speaker: "eva",
text: "Holy shit… there's so much. It's so warm… and it tastes so fucking good."
},
{
type: "narration",
text: "She slowly licked some of it off her lips and looked up at you, face still covered."
},
{
speaker: "player",
text: "I didn't expect you to be this good at it… especially after that football demonstration."
},
{
speaker: "eva",
text: "Thank you… I'm really glad you liked it. I'm gonna go shower. Make sure you lock the door properly when you leave."
},
{
type: "narration",
text: "You fixed your clothes and left her room, the image of her cum-covered face still burned into your head."
}
]) >>
<</append>>
<<replace "#continue1">>
<div id = "continue2">
<hr>
<center>
<<link "Leave Eva's Room">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You walked onto the playground and saw Eva practicing with a few other girls. The second she spotted you her whole face lit up. She immediately broke away from the group and ran straight over, throwing her arms around you in a tight hug."
},
{
speaker: "eva",
text: "You're here… I'm so happy to see you."
},
{
type: "narration",
text: "She pulled back just enough to look at you, still smiling."
},
]) >>
<img class="background" src="media/event/eva/evaEvent5.jpg">
<<= setup.renderDialogue([
{
speaker: "eva",
text: "What brought you out here?"
},
{
speaker: "player",
text: "You forgot this at the library. You issued it earlier."
},
{
type: "narration",
text: "You held out the book. Eva's eyes widened a little as she took it."
},
{
speaker: "eva",
text: "Oh… yeah. I completely forgot. The football tryouts are tomorrow and I didn't want to miss practice with the girls, so I just ran out of the library."
},
{
speaker: "eva",
text: "I don't have a bag with me right now, so could you bring this to my room after the tryouts, or whenever you get the chance?"
},
{
speaker: "player",
text: "Sure, I'll bring it by."
},
{
speaker: "player",
text: "I'm actually impressed. You're really dedicated to this."
},
{
speaker: "player",
text: "Just try not to destroy the other girls too hard out there."
},
{
type: "narration",
text: "Eva let out a small laugh."
},
{
speaker: "eva",
text: "I'll try to behave… a little."
},
{
speaker: "eva",
text: "I hope the next time we meet, I'm already on the football team."
},
{
speaker: "player",
text: "I can't wait for that."
},
{
type: "narration",
text: "Eva gave you one last bright smile, hugged the book against her chest, and jogged back to the other girls. You watched her for a second before turning and leaving the playground."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Leave playground">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You walked into Eva's room. The moment she saw you she smiled, but it didn't have the usual spark. Something was off."
},
{
type: "narration",
text: "The two of you sat on the edge of her bed and you handed her the book you'd been keeping for her."
},
{
speaker: "player",
text: "Here. I brought your book."
},
{
speaker: "eva",
text: "Thank you."
},
{
type: "narration",
text: "Her voice was quiet and flat, and she barely looked at you."
},
{
speaker: "player",
text: "Hey… you okay, baby?"
},
{
speaker: "eva",
text: "Yeah."
},
{
speaker: "player",
text: "You sure? You seem quiet today."
},
{
speaker: "eva",
text: "I'm fine."
},
{
speaker: "player",
text: "Talk to me, love. What's going on?"
},
{
type: "narration",
text: "Her eyes started to get watery, but she still didn't say anything."
},
{
speaker: "player",
text: "Eva… please. Tell me."
},
{
type: "narration",
text: "That was all it took. Tears spilled over and she finally broke."
},
{
speaker: "eva",
text: "I didn't make the team… I failed the tryouts."
},
{
type: "narration",
text: "You pulled her straight into your arms and held her tight, gently wiping the tears from her cheeks with your thumb."
},
{
speaker: "player",
text: "Come here, baby. It's okay… I've got you."
},
{
type: "narration",
text: "She pressed her face into your chest, still crying softly."
},
{
speaker: "eva",
text: "I'm more upset that I let you down. You trained me… you spent all that time on me… and I just wasted it."
},
{
speaker: "player",
text: "Hey. Look at me. You didn't waste anything. I'm proud of you for even trying. That's all that matters to me."
},
{
type: "narration",
text: "Her mood was still heavy. You gently wiped another tear away and leaned in, kissing her soft and slow."
},
{
type: "narration",
text: "When you pulled back, a tiny shy smile had returned to her lips."
},
{
speaker: "player",
text: "Damn… if I knew a kiss would bring that smile back, I would've done it the second I walked in."
},
{
type: "narration",
text: "Her smile grew and a light blush spread across her cheeks."
},
{
type: "narration",
text: "You kissed her again, this time deeper. While your mouths moved together you slowly opened her shirt and filled your hands with her soft, full breasts, gently squeezing them. Eva kissed you back with more hunger, soft moans slipping out between breaths."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/eva/evaEvent6Kiss1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "eva",
text: "Mmm… baby…"
},
{
type: "narration",
text: "You eased her down onto the bed, slid her panties off, and looked up at her."
},
{
speaker: "player",
text: "Let's properly fix that mood of yours."
},
{
type: "narration",
text: "You lowered your head and dragged your tongue slowly over her pussy. Eva's back arched almost immediately."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/eva/evaEvent6PussyLicking1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "eva",
text: "Ahh… fuck… that feels so good…"
},
{
type: "narration",
text: "You kept licking her, slow and thorough. After a while you slid one finger inside while your tongue stayed on her clit."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/eva/evaEvent6PussyLicking2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "eva",
text: "Oh my god—yes… your finger… don't stop licking me…"
},
{
type: "narration",
text: "You lifted your head just enough to speak, still moving your finger inside her."
},
{
speaker: "player",
text: "I'm putting two in now."
},
{
speaker: "eva",
text: "Do whatever you want… just don't stop… please…"
},
{
type: "narration",
text: "You pushed a second finger into her and started moving them harder while your tongue went back to work. Eva's moans turned loud and broken."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/eva/evaEvent6PussyLicking3.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "eva",
text: "Ahh—fuck—your fingers feel so deep… I'm gonna cum—"
},
{
type: "narration",
text: "She came hard, thighs shaking around your head as she soaked your fingers and mouth."
},
{
type: "narration",
text: "Her body was still trembling when she weakly reached for you."
},
{
speaker: "eva",
text: "Keep going… I want you to keep teasing my pussy… please…"
},
{
type: "narration",
text: "You moved up into a sixty-nine. The second your mouth was back on her pussy she moaned again, trying to wrap her hand around your cock but her grip kept slipping because of how sensitive she still was."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/eva/evaEvent6PussyLicking4.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You kept licking her through it until she came a second time, even harder, flooding your tongue again."
},
{
type: "narration",
text: "You gave her a moment to catch her breath. After a while she rolled onto her side and crawled down toward your cock."
},
{
speaker: "eva",
text: "I want your cum in my mouth…"
},
{
type: "narration",
text: "She wrapped her hand around you and started stroking while her tongue slowly licked over the head."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/eva/evaEvent6Handjob1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "player",
text: "That's it, baby… just like that."
},
{
type: "narration",
text: "She moved up, still stroking faster, and kissed you deeply. Soft moans kept spilling into your mouth while her hand worked you harder."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/eva/evaEvent6Handjob3.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "eva",
text: "I want it… I want you to cum for me…"
},
{
type: "narration",
text: "You felt yourself getting close."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/eva/evaEvent6Handjob4.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "player",
text: "I'm right there, baby… don't stop."
},
{
type: "narration",
text: "Eva stroked even harder and stuck her tongue out, waiting. You came hard, spilling across her tongue and lips."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/eva/evaEvent6Cum1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She swallowed what she could and looked up at you, still breathing heavily."
},
{
speaker: "eva",
text: "That was… so good. I've never even orgasmed before today. I've never put anything inside me either… it felt amazing."
},
{
type: "narration",
text: "She scooted closer and rested her head on your chest."
},
{
speaker: "eva",
text: "Can you stay a little longer… and just hold me?"
},
{
type: "narration",
text: "You wrapped your arms around her and stayed like that for a long while, quietly holding her until she finally drifted off. Only then did you carefully get up and head back to your own room."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Go to your room">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div><div class="disclaimer-container">
<h1>⚠️ Mature Content Warning</h1>
<p>
This game contains <b>explicit sexual content, nudity, adult themes, and strong language.</b>
It is intended exclusively for adults aged <b>18 years or older</b>, or the age of majority in your jurisdiction.
</p>
<p>
By selecting <b>Continue</b>, you certify that:
</p>
<ul>
<li>You are legally permitted to view adult content.</li>
<li>All characters depicted in this game are <b>18 years of age or older.</b></li>
<li>You understand the nature of the content presented.</li>
<li>You accept responsibility for complying with the laws applicable in your country or region.</li>
</ul>
<p>
If you do not meet these requirements, please exit the game.
</p>
<div class="disclaimer-buttons">
<<button "✔ I am 18 or older — Continue">>
<<goto "Title">>
<</button>>
<<button "✖ Quit Game">>
<<goto "Exit">>
<</button>>
</div>
</div><h1 style="text-align:center;">Access Denied</h1>
<p style="text-align:center;">
You must be 18 years or older to play this game. Please close this browser window or tab.
</p><div id = "sceneDialogue">
<img class="background" src="media/background/elena_bg.jpg">
<<= setup.renderDialogue([
{
type: "narration",
text: "You boarded the plane. A ridiculously beautiful hostess welcomed you with a perfect smile. Your seat was in the very first row — right across from the jump seat where the crew sat."
},
{
type: "narration",
text: "Once everyone was on board she did the usual safety announcement, then came and sat directly in front of you. The plane took off. She was so fucking pretty it was impossible to look away… and she never took her eyes off you either."
},
{
type: "narration",
text: "After a few long, charged looks, you spoke first."
},
{
speaker: "player",
text: "I've never seen a hostess as beautiful as you."
},
{
speaker: "elena",
text: "I've never seen anyone as handsome as you either. It's actually impossible to look away."
},
{
type: "narration",
text: "You gave her a slow, dirty smile and let your eyes drop down her body and back up — making it very clear what you wanted."
},
{
speaker: "player",
text: "I'm " + State.variables.player.name + "."
},
{
type: "narration",
text: "You raised your hand. She placed hers in yours, and you lifted it to your lips, kissing the back of her hand without breaking eye contact."
},
{
speaker: "elena",
text: "Elena."
},
{
type: "narration",
text: "A few minutes later the seatbelt sign switched off. Before you could even reach for yours, Elena unbuckled it for you, stood up, and walked toward the downstairs galley, glancing back and signaling you to follow with a small tilt of her head."
},
])
>>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/flightKiss1.mp4" type="video/mp4">
</video>
</div>
<<=
setup.renderDialogue([
{
type: "narration",
text: "You followed her down. The second you stepped into the narrow space full of cabinets she grabbed you and pulled you into a deep, hungry kiss."
},
{
speaker: "elena",
text: "I've been dripping wet this entire fucking flight just sitting there staring at you."
},
{
type: "narration",
text: "She kissed you again, even filthier. Your hand slid under her tiny skirt and found her completely soaked. You started rubbing her clit in tight circles. Elena's legs almost gave out."
},
{
speaker: "elena",
text: "Ahh… fuck… I can barely stand…"
},
])
>>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/flightHandjob1.mp4" type="video/mp4">
</video>
</div>
<<=
setup.renderDialogue([
{
type: "narration",
text: "She dropped to her knees, yanked your zipper open, and pulled your cock out. The second it sprang free her eyes went wide with pure shock."
},
{
speaker: "elena",
text: "Holy shit… this is the biggest cock I've ever seen in my life. It's fucking massive…"
},
{
type: "narration",
text: "She wrapped both hands around it and started stroking, staring at the size."
},
{
speaker: "elena",
text: "Look at how thick it is… my fingers don't even meet. I need this thing inside me so bad."
},
{
speaker: "player",
text: "Then open that pretty mouth and choke on it."
},
])
>>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/flightBlowjob1.mp4" type="video/mp4">
</video>
</div>
<<=
setup.renderDialogue([
{
type: "narration",
text: "Elena took the head between her lips and started forcing more of it down her throat, gagging wetly as she tried to take it deeper. You grabbed the back of her head and guided her."
},
{
speaker: "player",
text: "That's it… take that thick cock down your throat like a good little slut."
},
])
>>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/flightPussyLicking1.mp4" type="video/mp4">
</video>
</div>
<<=
setup.renderDialogue([
{
type: "narration",
text: "After a while you pulled her up, pushed her back against the cabinets, dropped to your knees, and started licking her dripping pussy. Elena bit her own hand trying not to moan too loud."
},
{
speaker: "elena",
text: "Mmm—fuck—your tongue feels so good… I'm trying so hard to stay quiet…"
},
])>>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/flightStandingDoggy1.mp4" type="video/mp4">
</video>
</div>
<<=
setup.renderDialogue([
{
type: "narration",
text: "You stood, spun her around, bent her over slightly, and shoved your cock into her tight wet pussy in one hard thrust. A loud, broken moan ripped out of her."
},
{
type: "narration",
text: "You immediately covered her mouth with your hand and started fucking her hard and deep."
},
{
speaker: "player",
text: "Keep it down, you noisy little whore… take this thick cock quietly."
},
])>>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/flightReverseCowgirl1.mp4" type="video/mp4">
</video>
</div>
<<=
setup.renderDialogue([
{
type: "narration",
text: "You fucked her against the cabinets until both of you were breathing hard, then lay flat on the floor. Elena turned around, faced away from you, and sank down onto your cock. The second she was fully seated you started thrusting up into her."
},
{
speaker: "player",
text: "Look at you bouncing on this massive cock… taking every inch."
},
{
speaker: "elena",
text: "It's so fucking deep like this… I'm gonna cum—don't stop—"
},
{
type: "narration",
text: "A few more hard thrusts and Elena came hard, collapsing forward onto your chest while you kept fucking up into her through the orgasm."
},
])>>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/flightStandingMissionary1.mp4" type="video/mp4">
</video>
</div>
<<=
setup.renderDialogue([
{
type: "narration",
text: "You picked her up, slammed her back against the cabinets again, and started pounding her pussy without mercy. She was completely lost in it, eyes half-lidded, mouth open."
},
{
speaker: "player",
text: "Still so fucking tight… I'm gonna fill this pussy if you keep squeezing me like that."
},
{
type: "narration",
text: "When you felt yourself getting close you pulled out."
},
{
speaker: "player",
text: "On your knees. Now. I want to cum all over that pretty face."
},
])>>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/flightCum1.mp4" type="video/mp4">
</video>
</div>
<<=
setup.renderDialogue([
{
type: "narration",
text: "Elena dropped instantly, grabbed your cock, and stroked it fast and desperate."
},
{
speaker: "elena",
text: "Give it to me… cum on my tongue… cover my face… please—"
},
{
type: "narration",
text: "She opened her mouth wide and stuck her tongue out. You came hard — thick ropes landing on her tongue, across her lips, her cheeks, and down onto her uniform."
},
{
type: "narration",
text: "Elena took a deep, shaky breath, still on her knees with your cum dripping down her face."
},
{
type: "narration",
text: "You fixed your clothes. Before you walked back up the stairs she looked up at you, still catching her breath on the floor."
},
{
speaker: "elena",
text: "I never imagined the best sex of my entire life would happen thirty-five thousand feet in the air…"
},
{
type: "narration",
text: "You gave her one last dirty smile and climbed back to your seat, leaving her lying there on the galley floor, uniform ruined and thighs still trembling."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Continue">>
<<goto "Settle">>
<</link>>
</center>
</div><img class="background" src="media/background/childhood_bg.jpg">
<<=
setup.renderDialogue([
{
type: "narration",
text: "Yep... that's you."
},
{
type: "narration",
text: "And the woman holding your tiny hand? That's your grandmother. Ever since you can remember, she's been the one who raised you."
},
{
type: "narration",
text: "Your parents died in a tragic car accident when you were still too young to remember them. Somehow... you survived."
}
])
>>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/activity/carCrash.mp4" type="video/mp4">
</video>
</div>
<<=
setup.renderDialogue([
{
type: "narration",
text: "Growing up was never easy. Maybe it was your past. Maybe you simply couldn't relate to the other kids. Or maybe you were just born quieter than everyone else."
},
{
type: "narration",
text: "Whatever the reason, making friends was never your strongest suit... and girls barely knew you existed."
},
{
speaker: "grandma",
text: "You spend too much time studying. Go outside sometimes."
},
{
speaker: "player",
text: "Outside isn't that interesting."
},
{
speaker: "grandma",
text: "Books won't give me great-grandchildren."
},
{
speaker: "player",
text: "...Grandma."
},
{
type: "narration",
text: "While everyone else was busy making memories, you were making grades. Books became your closest companions, and somewhere along the way, the gym became your second home."
},
{
type: "narration",
text: "The skinny little kid everyone overlooked slowly disappeared, replaced by someone nobody would've expected if they'd known you back then."
}
])
>>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/activity/glowup.mp4" type="video/mp4">
</video>
</div>
<<=
setup.renderDialogue([
{
speaker: "grandma",
text: "I always knew this day would come."
},
{
speaker: "grandma",
text: "You're every bit as smart as your father was. He was a professor, after all. Guess brilliance runs in the family... even if stubbornness does too."
},
{
speaker: "player",
text: "I wish I could've met him."
},
{
speaker: "grandma",
text: "He would've been proud of the young man you've become. Both of them would've."
},
{
type: "narration",
text: "Years of hard work finally paid off. You earned a full scholarship to one of the country's most prestigious colleges."
},
{
type: "narration",
text: "It was a little strange getting the scholarship nearly a month after college had already started."
},
{
type: "narration",
text: "But you didn't mind. You were just happy to finally have the chance."
},
{
type: "narration",
text: "It's miles away from your quiet little hometown... and that's exactly where you're headed today."
},
{
speaker: "grandma",
text: "Well... I guess this is it. My little boy's finally leaving home. Just promise me you won't spend all four years buried in books... and maybe come back with a nice girl by your side."
},
{
speaker: "player",
text: "I'll do my best."
},
{
speaker: "grandma",
text: "That's enough for me. If you ever need anything, you call me. And don't worry about money—I'll keep sending you some every month."
},
{
speaker: "player",
text: "Thank you... for everything."
},
{
speaker: "grandma",
text: "Now go make us proud... and don't keep your old grandmother waiting too long for a visit."
}
])
>>
<center>
<<link "Catch the flight">>
<<goto "Flight">>
<</link>>
</center><img class="background" src="media/background/hostel_bg.jpg">
<<=
setup.renderDialogue([
{
type: "narration",
text: "A couple of hours later, your flight finally landed. The college was only a short ride away from the airport, and since you already had all your luggage with you, you decided to head straight to the hostel."
},
{
type: "narration",
text: "As you stepped inside, the first thing that caught your attention wasn't the lobby..."
},
{
type: "narration",
text: "It was the gorgeous woman sitting behind the reception desk."
}
])
>>
<img class="background" src="media/background/mia_settle.jpg">
<<=
setup.renderDialogue([
{
speaker: "mia",
text: "Welcome! How can I help you?"
},
{
speaker: "player",
text: "Hi. I'm a new freshman. I was told to report here first."
},
{
speaker: "mia",
text: "Of course! I'm Mia. It's nice to meet you!"
},
{
speaker: "mia",
text: "What's your name? Let me check which room you've been assigned."
},
{
speaker: "player",
text: State.variables.player.name + "."
},
{
type: "narration",
text: "Her fingers danced across the keyboard for a few seconds before she suddenly paused."
},
{
type: "narration",
text: "She looked up at you... then back at the screen... and smiled."
},
{
type: "narration",
text: "Not a normal smile."
},
{
speaker: "mia",
text: "Ooooh... so <b>you're</b> " + State.variables.player.name + ". That explains it. I was wondering why your name wasn't showing up with everyone else's. You've got one of those special scholarships, don't you?"
},
{
speaker: "player",
text: "I... guess so?"
},
{
speaker: "mia",
text: "Well... I've got good news and bad news."
},
{
speaker: "player",
text: "Please tell me the good news comes first."
},
{
speaker: "mia",
text: "You're officially checked in."
},
{
speaker: "mia",
text: "The bad news? We don't have a single room left in the boys' hostel."
},
{
speaker: "player",
text: "Wait... what? Then where am I supposed to stay?"
},
{
speaker: "mia",
text: "Looks like today's your lucky day. Until a room opens up in the boys' hostel... you're staying with the girls."
},
{
type: "think",
text: "No way..."
},
{
type: "think",
text: "There's no way this is real."
},
{
type: "think",
text: "A girls' hostel?"
},
{
type: "think",
text: "I haven't even attended my first class..."
},
{
type: "think",
text: "and college is already exceeding expectations."
},
{
speaker: "mia",
text: "Easy there, Romeo. Whatever fantasy just started playing in that head of yours... forget it."
},
{
speaker: "player",
text: "...Was I really that obvious?"
},
{
speaker: "mia",
text: "Let's just say your face tells on you. So here's the deal. There are cameras everywhere. No wandering into girls' rooms, no sneaking your guy friends in, and absolutely no heroic attempts at becoming the campus Casanova."
},
{
speaker: "player",
text: "Wow... you really had that speech ready, huh?"
},
{
speaker: "mia",
text: "Years of experience."
},
{
speaker: "mia",
text: "Besides..."
},
{
speaker: "mia",
text: "If you ever need anything... don't go looking for someone else. Just come find me. I'll always make time for you."
},
{
speaker: "player",
text: "Always?"
},
{
speaker: "mia",
text: "For you? Hmm... let's just say you've already caught my attention."
},
{
speaker: "mia",
text: "Now stop grinning like an idiot and come with me. I'll show you your room."
}
])
>>
<center>
<<link "Continue">>
<<run setup.addAffection("mia", 1)>>
<<goto "Unpack">>
<</link>>
</center><img class="background" src="media/background/banner_bg.jpg">
<<=
setup.renderDialogue([
{
speaker: "admenz",
text: "Hey! Welcome to <b>Freshman Year</b>."
},
{
speaker: "admenz",
text: "This isn't just another college visual novel. It's based on my own college life... well, at least the first half of it, with a few creative twists to make things even more fun."
},
{
speaker: "admenz",
text: "Everything you'll experience during Freshman Year is inspired by what actually happened when I first stepped onto campus. The awkward moments, the friendships, the late-night adventures, the dumb decisions... and of course, the girls."
},
{
speaker: "admenz",
text: "If you enjoy the journey, don't worry—this is only the beginning. Sophomore, Junior and Senior Year are all planned and will continue over on Patreon."
},
{
speaker: "admenz",
text: "But that's enough about me. For the next few hours, you're the one living this life. So before we hand over the controls... who are you playing as?"
}
])
>>
<div class="name-entry-card">
<div class="name-entry-header">Create Your Profile</div>
<div class="input-group name-input">
<label>First Name</label>
<<textbox "$player.name" "Daddy" "Intro">>
</div>
<<button "Confirm Name" "Intro">>
<<set $player.name = setup.capitalizeName(setup.cleanPlayerName($player.name))>>
<</button>>
</div><img class="background" src="media/background/myRoom_bg.jpg">
<<=
setup.renderDialogue([
{
type: "narration",
text: "Mia dropped you off at your room before leaving you alone. You looked around."
},
{
type: "narration",
text: "Damn..."
},
{
type: "narration",
text: "This didn't feel like a hostel room at all. It was spacious, modern, spotless... more like a luxury hotel than student accommodation."
},
{
type: "narration",
text: "You quickly unpacked your things, but your mind wasn't on the room."
},
{
type: "think",
text: "I'm actually staying... in a girls' hostel."
},
{
type: "think",
text: "Maybe college isn't going to be so bad after all."
},
{
type: "narration",
text: "The excitement could wait until tomorrow."
},
{
type: "narration",
text: "Right now..."
},
{
type: "narration",
text: "You desperately needed some sleep."
}
])
>>
<center>
<<link "Continue">>
<<set _sleep = setup.activities.sleep>>
<<set $currentActivity = setup.buildActivityState(_sleep)>>
<<run Engine.play("Sleep")>>
<</link>>
</center><img class="background" src="media/background/library_bg.jpg">
<<= setup.renderDialogue([
{
type: "narration",
text: "You find Jane at the same quiet table in the back of the library. The moment she sees you, her face lights up."
},
{
speaker: "jane",
text: "You came back."
},
{
speaker: "player",
text: "I said I would."
},
{
speaker: "jane",
text: "I've been thinking about what you said about my poem. You were right. It was missing something."
},
{
speaker: "player",
text: "You'll find it."
},
{
type: "narration",
text: "Jane smiles, studying you for a moment."
},
{
speaker: "jane",
text: "You talk about poetry like someone who writes it."
},
{
speaker: "player",
text: "Maybe I do."
},
{
type: "narration",
text: "Her eyes widen."
},
{
speaker: "jane",
text: "You write?"
},
{
speaker: "player",
text: "I've written a few."
},
{
type: "narration",
text: "Her face lights up as she leans closer."
},
{
speaker: "jane",
text: "Then let me hear one."
},
{
type: "narration",
text: "You pull out your phone and read one of your older poems to her."
},
]) >>
<img class="background" src="media/event/player/jane_playerEvent3.jpg">
<<= setup.renderDialogue([
{
speaker: "player",
text: "I dreamed of a girl I had never known,\nA heart I would cherish, a soul of her own,\nI'd save every word that she'd ever say,\nAnd love her completely before she'd come my way.\n\nI searched through the world for the one meant for me,\nFor eyes that would make every lonely thought flee,\nI don't know her name, or where she may be,\nBut somewhere out there, she's waiting for me."
},
{
type: "narration",
text: "Jane sits completely still for a moment after the last line, staring at you with an almost disbelieving smile."
},
{
speaker: "jane",
text: "God... that's beautiful."
},
{
type: "narration",
text: "She looks down at your phone, then back at you, her expression softening into something unmistakably lovestruck."
},
{
speaker: "jane",
text: "You really wrote this?"
},
{
speaker: "player",
text: "A long time ago."
},
{
speaker: "jane",
text: "Whoever gets a poem like that from you is going to be ridiculously lucky."
},
{
speaker: "player",
text: "You think so?"
},
{
speaker: "jane",
text: "I know so."
},
{
type: "narration",
text: "She reaches for your hand, her fingers slipping between yours without hesitation."
},
{
speaker: "jane",
text: "I'd read it a hundred times."
},
{
speaker: "player",
text: "Even if it wasn't perfect?"
},
{
speaker: "jane",
text: "Especially then. It's yours. That would be enough."
},
{
type: "narration",
text: "She gives your hand a gentle squeeze, looking at you like she's already fallen much deeper than she meant to."
},
{
speaker: "jane",
text: "You're dangerously romantic, you know that?"
},
{
speaker: "player",
text: "I can live with that."
},
{
speaker: "jane",
text: "Good. Because I really, really like it."
},
{
speaker: "player",
text: "I'm working on something new."
},
{
speaker: "jane",
text: "Another poem?"
},
{
speaker: "player",
text: "Something like that."
},
{
speaker: "jane",
text: "Then tell me everything."
},
{
speaker: "player",
text: "You'll have to wait."
},
{
type: "narration",
text: "Jane lets out a soft, disappointed sigh."
},
{
speaker: "jane",
text: "You're really going to make me wait?"
},
{
speaker: "player",
text: "Just a little."
},
{
speaker: "jane",
text: "Fine. But I expect to be the first to hear it."
}
]) >>
<hr>
<center>
<<link "Continue">>
<<run setup.finishEvent()>>
<</link>>
</center><div id = "sceneDialogue">
<img class="background" src="media/event/player/jane_playerEvent3.jpg">
<<= setup.renderDialogue([
{
type: "narration",
text: "The moment Jane sees you in the library, her whole face lights up."
},
{
speaker: "jane",
text: "You're here…"
},
{
speaker: "jane",
text: "I was starting to think you wouldn't come back."
},
{
speaker: "player",
text: "I told you I would."
},
{
speaker: "jane",
text: "The poem… the one you were working on. Did you finish it?"
},
{
speaker: "player",
text: "Yeah."
},
{
speaker: "jane",
text: "Will you recite it for me?"
},
{
type: "narration",
text: "You take a quiet breath and begin."
},
{
speaker: "player",
text: "I used to write about a girl I had never seen,\nA shadow, a wish, a beautiful dream.\nBut dreams are weightless, and shadows don't stay—\nThen I walked into a library and she looked my way.\n\nShe hides behind books like they're made of her skin,\nSpeaks softly, as if the world might break if she's too loud within.\nBut when she smiles, even the quietest one,\nIt brings down every careful wall I've ever built before.\n\nI don't need the stars to tell me her name,\nI don't need the night to feel the same.\nEvery poem I ever tried to write before\nWas only practice... for Jane, the girl I adore."
},
{
type: "narration",
text: "For a second, Jane just stares at you, completely overwhelmed. Then her face breaks into the brightest smile you've ever seen."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/jane/janeEvent2Hug.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She rushes into your arms, wrapping herself around you and kissing you with all the pent-up emotion she's been holding back."
},
{
speaker: "jane",
text: "I have to tell you something."
},
{
speaker: "player",
text: "What?"
},
{
speaker: "jane",
text: "I love you so much."
},
{
type: "narration",
text: "Before you can say anything, she kisses you again, holding you even tighter. You barely have time to process what she said before you're completely lost in the moment with her."
},
{
type: "narration",
text: "A few seconds later, reality catches up with her. She freezes, slowly loosening her arms as the realization of what she just did sinks in."
},
{
speaker: "jane",
text: "Oh my God... I— I'm so sorry. I shouldn't have… that was— I didn't mean to—"
},
{
type: "narration",
text: "She turns away, completely flustered, and starts to leave, desperate to escape the embarrassment."
},
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Pull her back">>
<<append "#sceneDialogue">>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/jane/janeEvent2Kiss.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You pull her back into you. This time the kiss is deeper, hungrier, impossible to stop."
},
{
type: "narration",
text: "Your hand slides under her top, finding her bare skin. The other slips into her pants. She's already soaked, a soft moan breaking against your mouth the second you touch her."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/jane/janeEvent2Intimate.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "jane",
text: "Ahh… fuck—"
},
{
type: "narration",
text: "Then a chair scrapes somewhere in the shelves."
},
{
type: "narration",
text: "Jane quickly fixes her top and pulls your hand out of her pants, cheeks burning. She doesn't step away though—her fingers stay loosely curled in your shirt."
},
{
speaker: "jane",
text: "…We're in the library."
},
{
speaker: "player",
text: "Yeah."
},
{
type: "narration",
text: "For a moment, you just stare at each other. Then Jane lets out a breathless little laugh, and you can't help but laugh with her."
},
{
speaker: "jane",
text: "I meant it… what I said."
},
{
speaker: "player",
text: "I know."
},
{
type: "narration",
text: "She lets out a small, shaky breath and finally opens her eyes, looking at you like she's still half-afraid you'll disappear."
},
{
speaker: "jane",
text: "I was starting to think you wouldn't come back."
},
{
speaker: "player",
text: "I'd have to be crazy to stay away from you."
},
{
type: "narration",
text: "Jane gives you one last soft kiss, almost reluctant to pull away, then steps back with a tiny smile she can't quite hide."
}
]) >>
<</append>>
<<replace "#continue1">>
<div id = "continue2">
<hr>
<center>
<<link "Get out of Library">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You walked to the far end of the Skill Hub. A full fake bedroom set had been built there — bed, side tables, soft lighting, the works. Jane was standing with a few other students when she spotted you. Her whole face lit up."
},
{
speaker: "jane",
text: "Hey… what are you doing here?"
},
{
speaker: "player",
text: "Mandy sent me. Said you needed an acting partner for your skit."
},
{
type: "narration",
text: "Jane's eyes went wide with pure excitement."
},
{
speaker: "jane",
text: "She actually sent you? Oh my god. I wanted you for this part so badly but I didn't know if you even acted. I'm so fucking happy it's you."
},
{
speaker: "player",
text: "This set looks serious. Must be a big deal."
},
{
speaker: "jane",
text: "It is. It's my first public performance. This whole thing gets moved to the mall for the real show."
},
{
speaker: "player",
text: "Alright. What do I have to do?"
},
{
speaker: "jane",
text: "We just finished practicing with the others, but it's fine. Most of your scenes are with me anyway. You're playing my crush… and you've got a crush on me too. Here."
},
{
type: "narration",
text: "She handed you the script. You scanned the pages for a minute while she watched you closely."
},
{
type: "narration",
text: "Then you started rehearsing."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/jane/janeEvent3Dialogue1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "jane",
text: "You were always talking about that special someone, and I guess I just never felt special enough for you."
},
{
speaker: "player",
text: "You are the one."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/jane/janeEvent3Kiss1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "player",
text: "You've always been the one."
},
{
type: "narration",
text: "Jane stepped in and kissed you. Soft at first, then deeper, her hands sliding up your chest like she'd been waiting to do it. You weren't expecting it, but you kissed her back without thinking."
},
{
type: "narration",
text: "When she pulled away, you searched your memory for whatever came next in the script. You'd read the damn thing, but for some reason, you couldn't remember a single line after that."
},
{
type: "narration",
text: "She broke the kiss, breathing a little faster, and looked at you."
},
{
speaker: "jane",
text: "How long have you wanted to do that for?"
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/jane/janeEvent3Kiss2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "Before you could say anything she pulled you back in and kissed you harder — wetter, filthier, tongue sliding against yours like she didn't give a fuck about the script anymore."
},
{
type: "narration",
text: "You kissed her the same way, hands gripping her waist. After a few more seconds she moaned softly against your mouth."
},
{
speaker: "jane",
text: "Don't worry… you can do whatever you want to me…"
},
{
type: "narration",
text: "She kissed you again, even hungrier this time — until sudden clapping made both of you freeze."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/jane/janeEvent3Clap1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You both froze when the applause started. The students who'd been part of the rehearsal were already watching, and apparently a few more Skill Hub students had decided to join the audience. Jane's face went bright red, but she still smiled."
},
{
type: "narration",
text: "The two of you left the Skill Hub together. Once you were outside she was still a little flushed."
},
{
speaker: "player",
text: "Sorry… I didn't know there were more lines after my last dialogue."
},
{
speaker: "jane",
text: "There weren't. That was the last line of the whole performance. Everything after that… the second kiss, the things I said… that was just me not being able to stop."
},
{
speaker: "player",
text: "Good. Because I didn't want you to stop for a second."
},
{
type: "narration",
text: "Jane bit her lip, clearly pleased."
},
{
speaker: "jane",
text: "I didn't know you could act that well…"
},
{
speaker: "player",
text: "You felt how hard I got while you were saying I could do whatever I wanted. That wasn't acting."
},
{
type: "narration",
text: "Her cheeks went even redder, but she didn't look away."
},
{
speaker: "jane",
text: "We're performing in front of a live audience at the mall soon. I really hope they like it…"
},
{
speaker: "player",
text: "Then we should make the kiss and everything after it part of the real act. You saw how they reacted just now."
},
{
type: "narration",
text: "Jane's eyes lit up with a mix of nerves and real excitement."
},
{
speaker: "jane",
text: "Yeah… okay. We should. And if you want extra practice… you can come to my room. We can work on the kissing as much as you want."
},
{
speaker: "jane",
text: "Once everyone's ready, we'll do the full performance at the mall."
},
{
type: "narration",
text: "She gave you one last lingering look before walking away, still smiling to herself."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Leave skillHub">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You arrived at the mall. The full bedroom set from the Skill Hub had been moved here, and a decent crowd was already sitting in front of it. Jane stood off to the side, wringing her hands, looking pale."
},
{
speaker: "jane",
text: "I can't do this… I'm going to fuck it up. Everyone's going to see how nervous I am."
},
{
type: "narration",
text: "You pulled her into a tight hug."
},
{
speaker: "player",
text: "Hey. Look at me. You're going to be perfect. Just stay with me out there and forget the crowd exists."
},
{
type: "narration",
text: "She nodded against your chest, breathing a little steadier."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/jane/janeEvent3Dialogue1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "The performance started."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/jane/janeEvent3Kiss1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "When you reached the final lines, the kiss that followed was real — deep, hungry, longer than the script ever asked for."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/jane/janeEvent3Kiss2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "The crowd erupted the second it ended. Loud applause, cheering, people actually standing."
},
{
type: "narration",
text: "Backstage the clapping continued. Two girls came up to you both, still grinning."
},
{
speaker: "jessa",
text: "You two looked incredible up there. Like… actual couple energy. The way you looked at each other felt completely real."
},
{
speaker: "mia",
text: "Seriously. I almost forgot it was a performance. You two just fit."
},
{
type: "narration",
text: "Jane's face went bright red. She couldn't stop smiling even while she tried to hide it."
},
{
type: "narration",
text: "Later, the two of you walked back to the hostel and stopped in front of her door."
},
{
speaker: "jane",
text: "Thank you… for everything. You made the whole thing feel special. I couldn't have done it without you."
},
{
speaker: "player",
text: "You were already good. I just made sure everyone else saw it too. I should probably head out—"
},
{
speaker: "jane",
text: "Wait. Don't go yet. Stay with me a little longer… please."
},
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Go to hostel">>
<<append "#sceneDialogue">>
<<= setup.renderDialogue([
{
type: "narration",
text: "You followed her inside. The second the door clicked shut she started pulling her clothes off and kissed you hard, already moaning into your mouth."
},
{
type: "narration",
text: "You yanked your shirt off, pushed her onto the bed, and climbed on top of her, kissing her deeper while she arched up against you."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/jane/janeEvent4Kiss1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "jane",
text: "Mmm… fuck, I've wanted this so bad…"
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/jane/janeEvent4Rub1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "Your hand slid between her legs. She was already dripping. You started rubbing her clit in slow, firm circles while she moaned louder."
},
{
speaker: "jane",
text: "Ahh—right there… don't stop…"
},
{
type: "narration",
text: "Her hand found the bulge in your pants and squeezed. The second she felt how hard and thick you were, she broke the kiss, eyes wide with pure excitement."
},
{
speaker: "jane",
text: "Holy shit… it feels huge. Can I see it? Please… I need to see it."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/jane/janeEvent4Size1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You sat on the chair nearby and nodded. Jane dropped to her knees, pulled your pants down, and your cock sprang free, smacking against her face."
},
{
speaker: "jane",
text: "Oh my god… it's bigger than my whole face. I felt it through your pants but this is insane. One day I want to take this balls-deep in my ass… but right now I can't even fit it in my mouth."
},
{
speaker: "player",
text: "You don't have to force anything. Use your hands if that's all you can take right now."
},
{
speaker: "jane",
text: "Come back on the bed. I want to kiss you while I stroke it."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/jane/janeEvent4Handjob1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You both got on the bed. Jane wrapped one hand around your cock and stroked while kissing you deeply, moaning into your mouth."
},
{
speaker: "jane",
text: "It's so thick… my fingers barely wrap around it."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/jane/janeEvent4Handjob2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She switched to both hands, stroking harder and faster while still trying to keep her lips on yours."
},
{
speaker: "jane",
text: "Mmm—does that feel good? Tell me."
},
{
speaker: "player",
text: "Keep going just like that… tighter."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/jane/janeEvent4Handjob4.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She leaned down, put her tongue on the tip, and kept stroking hard and fast while licking the head."
},
{
speaker: "jane",
text: "Mmm… you taste so good already…"
},
{
speaker: "player",
text: "Get on your knees. I want to watch you stroke me from down there."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/jane/janeEvent4Handjob5.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You sat back on the chair. Jane dropped to her knees between your legs, took your cock in both hands, and wrapped her lips around the tip again."
},
{
speaker: "player",
text: "Stick your tongue out. Lick the tip while you stroke the rest."
},
{
type: "narration",
text: "She did exactly that — tongue flat against the head, both hands working your shaft fast and wet."
},
{
speaker: "player",
text: "Fuck… I'm gonna cum. Don't you dare pull away."
},
{
type: "narration",
text: "Jane sealed her lips around the head and stroked even harder, taking every thick pulse straight into her mouth."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/jane/janeEvent4Swallow1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "When you finished she opened her mouth and showed you the heavy load sitting on her tongue, then swallowed it all and stuck her tongue out again to prove it was gone."
},
{
speaker: "jane",
text: "There was so much… and it tasted so fucking good. Thick and warm…"
},
{
type: "narration",
text: "She stayed on her knees for a second longer, still catching her breath, then looked up at you almost sadly."
},
{
speaker: "jane",
text: "I wish I could make you stay the night… but if Mia comes for attendance and sees you here, we're both fucked."
},
{
type: "narration",
text: "You fixed your clothes. Jane walked you to the door, still flushed, and watched you leave with a small, hungry smile."
}
]) >>
<</append>>
<<replace "#continue1">>
<div id = "continue2">
<hr>
<center>
<<link "Leave her room">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You were walking through the college corridor when you spotted Jane coming toward you. She smiled the moment she saw you, but her face looked tired and a little pale."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/jane/janeEvent5Cough1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You leaned in to kiss her. She gently placed a hand on your chest and stopped you, then turned her head and coughed."
},
{
speaker: "jane",
text: "I'm sick… I don't want you to catch it too."
},
{
speaker: "player",
text: "I don't care about that. You look really unwell. Have you been to the doctor?"
},
{
speaker: "jane",
text: "Not yet. It's just a cold, I'll be fine."
},
{
speaker: "player",
text: "No. We're going to the doctor right now."
},
{
type: "narration",
text: "Jane hesitated for a second, but you didn't give her the chance to argue. You took her hand and led her straight to the campus clinic."
},
{
type: "narration",
text: "Inside the doctor's room, the doctor looked up and immediately noticed Jane's face."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/jane/janeEvent5Doctor1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "doctor",
text: "Oh dear… you don't look well at all. Please sit down. And your boyfriend can take a seat right here."
},
{
type: "narration",
text: "She pointed to the chair next to the desk. You sat down while Jane settled onto the examination seat."
},
{
speaker: "doctor",
text: "How long have you been feeling like this?"
},
{
speaker: "jane",
text: "Since yesterday evening. My nose is blocked, my throat hurts a little, and I keep coughing."
},
{
speaker: "doctor",
text: "Any fever? Body aches? Difficulty breathing?"
},
{
speaker: "jane",
text: "No fever… just tired and a bit achy. Breathing is fine."
},
{
speaker: "doctor",
text: "Alright. I need a urine sample. The washroom is just outside — here's a container. Come back when you're done."
},
{
type: "narration",
text: "Jane nodded and left the room. The moment the door closed, the doctor turned to you."
},
{
speaker: "doctor",
text: "You don't need to worry. It's just a mild seasonal cold. Runny nose, slight cough, nothing serious. I'll give you a few medicines — one for the congestion, one to soothe her throat, and a light anti-allergic."
},
{
type: "narration",
text: "A couple of minutes later Jane returned and handed over the sample."
},
{
speaker: "doctor",
text: "You don't need to worry at all. I've already explained everything to your boyfriend and given him the medicines. You'll feel better in a couple of days. Take care of your girlfriend, okay?"
},
{
speaker: "player",
text: "I will. Thank you."
},
{
type: "narration",
text: "You walked Jane back to the hostel. At her door you stopped and gently brushed a strand of hair from her face."
},
{
speaker: "player",
text: "Get some rest and take the medicines properly. Call me if you need anything, okay?"
},
{
speaker: "jane",
text: "Okay… thank you for taking care of me."
},
{
type: "narration",
text: "You gave her a soft smile, waited until she closed the door, and then headed to your own room."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Go to hostel">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You went to the mall and spent a few minutes looking around before you found a heart-shaped box of chocolates with a soft romantic line printed on the lid. You bought it and headed straight to Jane's room."
},
]) >>
<img class="background" src="media/event/jane/janeEvent6Gift1.jpg">
<<= setup.renderDialogue([
{
type: "narration",
text: "When you quietly opened the door you found her fast asleep on the bed, completely naked. She looked soft, beautiful, and somehow even more tempting than usual."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/jane/janeEvent6Wakeup1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You placed the gift on the pillow next to her head and gently ran your hand over the curve of her ass. Jane stirred, eyes slowly opening. The moment she saw you a bright smile spread across her face. Then she noticed the heart-shaped box. Her expression melted."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/jane/janeEvent6Read1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She picked up the little note, read it, and let out a quiet aww before pulling you down into a warm kiss."
},
{
type: "narration",
text: "After a few moments she broke the kiss, still smiling."
},
{
speaker: "player",
text: "How are you feeling now?"
},
{
speaker: "jane",
text: "A lot better… just a little body ache left. Nothing too bad."
},
{
speaker: "jane",
text: "This is honestly the best morning I've had in a while. You took me to the doctor, bought me this… and now you're here. I'm so turned on right now it hurts. I wish I was completely fine so I could fuck you properly."
},
{
type: "narration",
text: "You gave her a slow, dirty look."
},
{
speaker: "player",
text: "What you need right now is rest. I'll take care of the rest."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/jane/janeEvent6Finger1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You kissed her again while sliding your hand between her legs. She was already dripping wet. You started rubbing her clit in firm circles. Jane moaned loudly into your mouth."
},
{
speaker: "jane",
text: "Ahh… fuck… your fingers feel so good on my pussy…"
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/jane/janeEvent6Boobs1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You moved lower and took one of her soft tits into your mouth, sucking hard while your tongue flicked over the nipple. Your hand never stopped working between her legs."
},
{
speaker: "jane",
text: "Mmm—yes… suck them… it feels so fucking good…"
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/jane/janeEvent6PussyLicking1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You slid further down the bed, spread her thighs, and buried your mouth between her legs. You licked and sucked her dripping pussy like you were starving, tongue sliding deep while your hands reached up and groped her tits."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/jane/janeEvent6PussyLicking2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "jane",
text: "Ahh—fuck—your tongue… don't stop… eat my pussy just like that…"
},
{
type: "narration",
text: "You kept going, licking and sucking harder. Jane's moans grew louder and more desperate."
},
{
speaker: "jane",
text: "I'm so close… fuck—I'm gonna cum… keep licking me—"
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/jane/janeEvent6PussyLicking3.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She suddenly wrapped her legs around your head and pulled your face deeper into her pussy as she came hard, thighs shaking, flooding your mouth."
},
{
type: "narration",
text: "You sat up beside her while she lay there catching her breath, chest rising and falling fast."
},
{
speaker: "jane",
text: "That was the best thing I've felt in forever…"
},
{
type: "narration",
text: "She rolled over, crawled between your legs, and lay flat on her stomach. When you opened your mouth to tell her to rest she just shushed you and unzipped your pants. Your cock sprang free right in front of her face."
},
{
speaker: "jane",
text: "Holy fuck… it's so big. I forgot how thick this cock is."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/jane/janeEvent6Handjob1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She wrapped both hands around it and started stroking hard and fast, eyes locked on the head."
},
{
speaker: "jane",
text: "Look at it throb in my hands… I love how heavy it feels."
},
{
type: "narration",
text: "She kept stroking, twisting her wrists, squeezing tighter every few strokes."
},
{
speaker: "jane",
text: "I want you to cum all over my face… give me every drop."
},
{
type: "narration",
text: "You felt yourself getting close. Jane noticed and stroked even harder, eyes hungry."
},
{
speaker: "jane",
text: "That's it… cum for me. Cover my face with that thick cum."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/jane/janeEvent6Cum1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You came hard. Thick ropes shot across her cheeks, lips, and nose. Jane immediately used her fingers to guide every drop into her mouth, swallowed it all, and opened her mouth to show you it was gone."
},
{
speaker: "jane",
text: "Fuck… it tastes so good. So warm and thick…"
},
{
speaker: "player",
text: "Get well soon. The second you're better I'm going to fuck the absolute shit out of you until you can't walk straight."
},
{
type: "narration",
text: "Both of you got dressed."
},
{
speaker: "player",
text: "Actually, I need a favour. Angela said you have the best chemistry notes."
},
{
speaker: "jane",
text: "Angela said that? Wow. I might have to reconsider my opinion of her."
},
{
speaker: "player",
text: "She said I should get them from you."
},
{
speaker: "jane",
text: "Fine. Here. Just don't lose them."
},
{
speaker: "player",
text: "Thanks. I'll bring them back."
},
{
type: "narration",
text: "You took the notebook and headed toward the door."
},
{
type: "think",
text: "If only Jane knew what Mia already knew about you… she probably wouldn't be nearly as worried."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Leave her room">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<img class="background" src="media/event/player/lasirena_playerEvent3.jpg">
<<= setup.renderDialogue([
{
type: "narration",
text: "You walk toward the main desk. La Sirena looks up the second she sees you, already smiling like she's been waiting."
},
{
speaker: "lasirena",
text: "There you are. How's the research going?"
},
{
speaker: "player",
text: "What research?"
},
{
speaker: "lasirena",
text: "The monthly book one. You're really not worried about those missing credits?"
},
{
speaker: "player",
text: "Didn't even know the library gave credits."
},
{
speaker: "lasirena",
text: "Everything here does."
},
{
speaker: "lasirena",
text: "Classes, SkillHub, sports, library work… all of it counts."
},
{
speaker: "lasirena",
text: "Even teachers have to keep learning. That's why you'll catch us sitting with students sometimes."
},
{
speaker: "lasirena",
text: "And why half this place stays open late."
},
{
speaker: "player",
text: "So what do students actually have to do here?"
},
{
speaker: "lasirena",
text: "Simple. Pick one book a month."
},
{
speaker: "lasirena",
text: "Research it. Apply whatever you learn in real life. Then write the whole thing down."
},
{
speaker: "lasirena",
text: "Just reading doesn't cut it. You have to use it."
},
{
speaker: "player",
text: "I've already missed a month."
},
{
speaker: "lasirena",
text: "Yeah. And even if you start now, you'll still end the semester one short."
},
{
speaker: "lasirena",
text: "That little gap is going to hurt."
},
{
speaker: "player",
text: "Any way around it?"
},
])>>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Continue">>
<<append "#sceneDialogue">>
<<= setup.renderDialogue([
{
type: "narration",
text: "She leans on the desk a little, clearly enjoying this."
},
{
speaker: "lasirena",
text: "There is one."
},
{
speaker: "lasirena",
text: "I can teach you a book myself. Properly."
},
{
speaker: "lasirena",
text: "I'll make sure you actually understand it… and how to use it when the book's not in your hands."
},
{
speaker: "lasirena",
text: "In return, you help me with my research and whatever else I need around here."
},
{
speaker: "lasirena",
text: "But the writing? That's all on you. You document everything we do."
},
{
speaker: "player",
text: "Deal."
},
{
speaker: "lasirena",
text: "Good. Go pick something then."
},
{
speaker: "lasirena",
text: "Any book in the building."
},
{
speaker: "player",
text: "Any book? You sure about that?"
},
{
speaker: "lasirena",
text: "I know every single thing on these shelves. Surprise me."
},
]) >>
<img class="background" src="media/event/lasirena/lasirenaEvent1Lock.jpg">
<<= setup.renderDialogue([
{
type: "narration",
text: "You wander through the library until you notice an older section with a rusty lock. It looks ready to fall apart. You push — and it breaks."
},
])>>
<</append>>
<<replace "#continue1">>
<div id = "continue2">
<hr>
<center>
<<link "Continue">>
<<append "#sceneDialogue">>
<<= setup.renderDialogue([
{
type: "narration",
text: "Inside are dust-covered books. One thick volume stands out. You grab it and bring it back to her."
},
{
speaker: "lasirena",
text: "Where'd you find that?"
},
{
speaker: "player",
text: "Back section. Lock didn't put up much of a fight."
},
{
speaker: "lasirena",
text: "That's restricted."
},
{
speaker: "player",
text: "You said any book."
},
{
type: "narration",
text: "She looks at the cover, then at you, a slow grin spreading."
},
]) >>
<img class="background" src="media/event/lasirena/lasirenaEvent1Book.png">
<<= setup.renderDialogue([
{
speaker: "lasirena",
text: "Of course you picked the Kama Sutra."
},
{
speaker: "lasirena",
text: "Desire. The body. Pleasure. Intimacy. The whole thing."
},
{
speaker: "player",
text: "Sounds perfect."
},
{
speaker: "lasirena",
text: "You do realize you have to apply it, right? Not just read. Actually use it… and then write about what you did."
},
{
speaker: "lasirena",
text: "Still want it?"
},
{
speaker: "player",
text: "Why? Scared you won't be able to handle teaching me?"
},
{
speaker: "lasirena",
text: "Cute. I was more worried about you surviving the lessons."
},
{
speaker: "lasirena",
text: "Convince me you're worth the effort. Then we'll open that book properly."
},
{
type: "narration",
text: "She takes the book from you, fingers brushing yours, and looks at you like she's already looking forward to making this difficult in the best way."
}
])>>
<</append>>
<<replace "#continue2">>
<div id = "continue3">
<hr>
<center>
<<link "Get out of library">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<img class="background" src="media/event/player/lasirena_playerEvent3.jpg">
<<= setup.renderDialogue([
{
type: "narration",
text: "Evening. The library has mostly emptied out when you walk in. La Sirena is behind the desk, sorting a few books into a neat pile."
},
{
speaker: "player",
text: "Ready to start?"
},
{
speaker: "lasirena",
text: "Finally. I was starting to think you'd changed your mind."
},
{
type: "narration",
text: "She glances toward the last few students still wandering between the shelves."
},
{
speaker: "lasirena",
text: "Give them a minute. I don't need an audience for this."
},
{
type: "narration",
text: "You wait until the last student disappears through the doors. La Sirena locks the entrance, then turns back toward you with a small smile."
},
{
speaker: "lasirena",
text: "Alright. Open the Kama Sutra and tell me what the first topic in the index is."
},
{
type: "narration",
text: "You open the index and scan down the page."
},
{
speaker: "player",
text: "First topic…Kissing."
},
{
speaker: "lasirena",
text: "Of course it is."
},
{
speaker: "player",
text: "You told me to pick any book."
},
{
speaker: "lasirena",
text: "I know. I'm not complaining."
},
{
type: "narration",
text: "A small, dirty little smile pulls at her mouth."
},
{
speaker: "lasirena",
text: "Get your notebook out. If you're going to write a research paper about this, you might as well do it properly."
},
{
speaker: "lasirena",
text: "There are four kinds you should know."
},
{
speaker: "lasirena",
text: "First… the Tease Kiss. Soft. Barely any pressure. Just enough to make someone lean in and beg for more."
},
{
speaker: "lasirena",
text: "Second… the Tongue Fuck Kiss. Deep. Wet. Tongues sliding in and out of each other's mouths like you're already fucking. Slow, filthy thrusts."
},
{
speaker: "lasirena",
text: "Third… the Claiming Kiss. Hard pressure. Teeth. One hand locked in the other's hair so they can't pull away. It feels exactly like someone is marking you."
},
{
speaker: "lasirena",
text: "And the last one… the Slow Filthy Kiss. Open-mouthed. Unhurried. Tongues staying tangled for a long time while you suck and stroke and moan into each other's mouths. This is the one that usually ends with grinding."
},
{
type: "narration",
text: "She pushes off the desk, eyes locked on yours."
},
{
speaker: "player",
text: "Okay. That wasn't exactly what I expected from a research assignment."
},
{
speaker: "lasirena",
text: "You're the one who chose the book."
},
{
speaker: "player",
text: "Fair enough."
},
{
speaker: "player",
text: "So that's the first topic done?"
},
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Finish writing">>
<<append "#sceneDialogue">>
<<= setup.renderDialogue([
{
speaker: "lasirena",
text: "Written down?"
},
{
speaker: "player",
text: "Yeah."
},
{
speaker: "lasirena",
text: "Then no."
},
{
type: "narration",
text: "She closes your notebook with one finger."
},
{
speaker: "lasirena",
text: "You forgot the important part."
},
{
speaker: "player",
text: "There's an important part?"
},
{
speaker: "lasirena",
text: "You have to apply what you learn. And document what actually happened."
},
{
speaker: "player",
text: "So… You gonna make a move, or should I just shove my tongue down your throat right now?"
},
{
type: "narration",
text: "A slow smile spreads across La Sirena's face."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/lasirena/lasirenaEvent2Kiss.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She doesn't answer with words. She steps forward, plants both hands on your chest, and shoves. You drop backward onto the couch. She follows immediately, straddling your lap, and crashes her mouth against yours."
},
{
type: "narration",
text: "The first second you're too stunned to move. Then the heat of it hits — her tongue sliding deep, her lips demanding, the soft wet sound of the kiss filling the empty library. You grab her waist and kiss her back just as hard."
},
{
type: "narration",
text: "When she finally pulls away both of you are breathing harder than you should be."
},
{
speaker: "lasirena",
text: "There. That's what I meant by applying the material."
},
{
type: "narration",
text: "She stays straddling you, voice low and satisfied."
},
{
speaker: "lasirena",
text: "Now comes the test. Out of those four I just explained… which ones did we use?"
},
{
speaker: "player",
text: "All four"
},
{
type: "narration",
text: "La Sirena laughs, genuine and pleased."
},
{
speaker: "lasirena",
text: "At least you were paying attention."
},
{
speaker: "lasirena",
text: "Now write everything down. What happened, what you noticed, what you felt. That's your actual research."
},
{
type: "narration",
text: "She climbs off you slowly, straightens her clothes, and nods toward your notebook."
},
{
speaker: "lasirena",
text: "And don't make me read some boring little textbook report. If you're going to write about me, make it interesting"
},
{
type: "narration",
text: "She walks back toward the desk."
},
{
speaker: "lasirena",
text: "Come find me when you're finished."
},
]) >>
<</append>>
<<replace "#continue1">>
<div id = "continue2">
<hr>
<center>
<<link "Leave Library">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<img class="background" src="media/event/lasirena/lasirenaEvent3.jpg">
<<= setup.renderDialogue([
{
type: "narration",
text: "You walked into the library and found La Sirena at her desk, surrounded by stacks of papers and open files."
},
{
speaker: "player",
text: "You look busy as hell. What's all this?"
},
{
speaker: "lasirena",
text: "Research submissions from last month. I have to go through every single one and hand out the credits."
},
{
speaker: "player",
text: "So no private lesson today?"
},
{
type: "narration",
text: "La Sirena looked up, a slow, dirty smile spreading across her face."
},
{
speaker: "lasirena",
text: "Aww… look at this curious little student, already hungry for his next lesson."
},
{
type: "narration",
text: "She climbed onto the desk, knelt right in front of you, arched over the edge, and pulled you into a deep, open-mouthed kiss. Her tongue slid against yours like she'd been thinking about it all morning."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/intimacy/lasirena/lasirenaRoomKiss1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You didn't waste the chance. Your hands shoved her top down and filled with her big, soft tits, squeezing them hard while she moaned into your mouth."
},
{
type: "narration",
text: "After a few more seconds she broke the kiss, breathing heavier, and fixed her top like nothing happened."
},
{
speaker: "lasirena",
text: "Unfortunately I'm buried under all this shit today. We'll do the real lesson once I'm finished."
},
{
speaker: "player",
text: "When will that be?"
},
{
speaker: "lasirena",
text: "It's gonna take a while. I still have to assign everyone's credits… including the solid fifty percent you've earned so far. And I'm still waiting on Abella's research. No idea what's taking her so long."
},
{
speaker: "player",
text: "Fifty percent? You said you'd help me with this."
},
{
speaker: "lasirena",
text: "I did. But you still don't have your own research ready, do you? That takes time."
},
{
type: "narration",
text: "The look on your face must have said everything. La Sirena noticed and leaned forward a little, voice dropping."
},
{
speaker: "lasirena",
text: "I can make it a full hundred… but you'll have to do something for me first."
},
{
speaker: "player",
text: "Name it."
},
{
speaker: "lasirena",
text: "Help Abella finish her research and get her to submit it as soon as possible. You pull that off, and I'll give you the full credits… plus a private lesson that'll make you forget we were ever talking about paperwork."
},
{
speaker: "player",
text: "Deal. I'll get it done."
},
{
type: "narration",
text: "La Sirena smirked, eyes lingering on your mouth and then lower, before she waved you off and went back to her papers."
},
{
type: "narration",
text: "You left the library already thinking about how filthy that next lesson was going to be."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Leave Library">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You knocked on La Sirena's door. She opened it wearing nothing but a thin yellow see-through bra and matching panties. Her tits and nipples were clearly visible through the fabric."
},
{
type: "narration",
text: "You just stared."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/lasirena/lasirenaEvent4Entry.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "lasirena",
text: "Hi."
},
{
speaker: "player",
text: "Hello…"
},
{
speaker: "lasirena",
text: "How are you?"
},
{
speaker: "player",
text: "Fucking amazing now that I'm looking at you."
},
{
speaker: "player",
text: "I hope you already got Abella's research."
},
{
speaker: "lasirena",
text: "I did. She submitted everything this morning."
},
{
speaker: "player",
text: "Then it's time for our private lesson."
},
{
type: "narration",
text: "La Sirena gave you that slow, dirty smile."
},
{
speaker: "lasirena",
text: "Did you bring the Kama Sutra… and something to write with?"
},
{
speaker: "player",
text: "Yeah."
},
{
speaker: "lasirena",
text: "Open it. Tell me what the next topic in the index is."
},
{
speaker: "player",
text: "Handjobs."
},
{
type: "narration",
text: "Her eyes darkened with pure heat."
},
{
speaker: "lasirena",
text: "A handjob is wrapping your hands around a hard cock and stroking it until it explodes."
},
{
speaker: "lasirena",
text: "According to the book, you always warm the cock up first… get it throbbing before you really start working it."
},
{
speaker: "lasirena",
text: "Then you stroke it nice and slow… long strokes that make every vein stand out."
},
{
speaker: "lasirena",
text: "The head is the most sensitive part. You pay special attention to it… lips on it, tongue on it, sucking it while your hands keep stroking the rest."
},
{
speaker: "player",
text: "Doesn't that just turn into a blowjob?"
},
{
speaker: "lasirena",
text: "No. The hands are still doing all the work. The mouth is just extra. It's still a handjob."
},
{
speaker: "lasirena",
text: "And you never forget the balls. Kiss them… lick them… suck them while you're stroking. Most girls forget that part and they're fucking stupid for it."
},
{
speaker: "lasirena",
text: "You can twist your hands while you stroke… switch the grip… do it from different angles… even make him fuck your fists. There are so many ways to ruin a cock with just your hands."
},
{
speaker: "player",
text: "Can we please stop talking about it? I need the practical part right now."
},
{
type: "narration",
text: "La Sirena just smiled, dropped to her knees between your legs, and unzipped your pants."
},
{
type: "narration",
text: "Your cock sprang free. Her eyes went huge."
},
{
speaker: "lasirena",
text: "Oh my fucking god… this can't be real. This cock is massive. Even the Kama Sutra doesn't talk about anything this thick and long."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/lasirena/lasirenaEvent4Warmup1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She grabbed it, slapped it against her big soft tits a few times, and looked up at you."
},
{
speaker: "lasirena",
text: "Time to warm this monster up properly…"
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/lasirena/lasirenaEvent4Handjob2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She started stroking you with both hands, using every technique she just described — long strokes, twisting her wrists, squeezing the head on every upstroke."
},
{
speaker: "lasirena",
text: "Feel that? That's how you treat a cock this big."
},
{
speaker: "player",
text: "Fuck… your hands feel incredible."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/lasirena/lasirenaEvent4Boobjob2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She pushed your cock between her tits and squeezed them tight around it."
},
{
speaker: "lasirena",
text: "Look at it disappear between these… so fucking thick."
},
{
speaker: "player",
text: "Those soft tits were made to wrap around this cock."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/lasirena/lasirenaEvent4Handjob3.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She leaned down, wrapped her lips around the head, and started sucking it while both hands stroked the shaft hard and fast."
},
{
speaker: "player",
text: "That's it… suck the head while you jerk the rest. Good fucking girl."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/lasirena/lasirenaEvent4Handjob4.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She dropped lower and started licking and sucking your balls, still stroking your cock the entire time."
},
{
speaker: "player",
text: "Fuck yes… suck those balls while you stroke that thick cock."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/lasirena/lasirenaEvent4Handjob5.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You suddenly pulled her up, pushed her flat onto the sofa, and straddled her chest so your cock hovered right above her tits."
},
{
speaker: "player",
text: "Keep stroking this cock, slut. Don't you dare stop."
},
{
speaker: "lasirena",
text: "Yes… use my hands… use my tits… just don't stop."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/lasirena/lasirenaEvent4Cum1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She stroked you harder, staring up at your cock like she was obsessed."
},
{
speaker: "lasirena",
text: "I want your milk… give it to me. Cover these tits."
},
{
type: "narration",
text: "You came hard, thick ropes shooting all over her big breasts while she kept stroking every last drop out of you."
},
{
speaker: "lasirena",
text: "Thank you… fuck, there's so much of it."
},
{
type: "narration",
text: "She looked down at the mess on her chest, still breathing heavy, then glanced back up at you with a dirty little smile."
},
{
speaker: "lasirena",
text: "If I'd known you were packing a cock this big, I would've jumped straight to this topic on day one. Now get dressed and get out of here… before I decide I'm not done with you."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Leave her room">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "The library looked empty when you walked in. La Sirena was standing at a table with her back to you, sorting through something."
},
{
type: "narration",
text: "You came up behind her, leaned in, and pressed a slow kiss against the side of her neck while both hands slid up and filled with her soft tits."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/lasirena/lasirenaEvent5Compliment1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "lasirena",
text: "Mmm…"
},
{
type: "narration",
text: "She let the moan slip out before she caught your wrists and gently stopped you."
},
{
speaker: "lasirena",
text: "You have no idea what you do to me when you touch me like that… but be careful. The university president might be visiting the college very soon."
},
{
speaker: "player",
text: "Don't worry about it. What are you doing anyway?"
},
{
speaker: "lasirena",
text: "Eva issued a book for this month's research, but she was in a hurry and forgot it right here. I was just about to take it to her… but since you're here, you can give it to her instead."
},
{
type: "narration",
text: "She picked up a thick hardcover and held it out. You took it."
},
{
speaker: "player",
text: "I actually came for our next lesson."
},
{
type: "narration",
text: "La Sirena looked at you the way an adult looks at a kid asking for candy before dinner — amused, a little condescending, and clearly entertained."
},
{
speaker: "lasirena",
text: "Aww… look at you. So eager."
},
{
speaker: "lasirena",
text: "Give her the book. Help her if she needs it. Don't worry about our lesson right now."
},
{
type: "narration",
text: "She stepped a little closer, voice dropping."
},
{
speaker: "lasirena",
text: "I want that lesson even more than you do… trust me."
},
{
speaker: "player",
text: "Guess I better hurry then."
},
{
type: "narration",
text: "You gave her one last look and left the library with Eva's book in your hand."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Leave Library">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You knocked on La Sirena's door with the Kama Sutra in your hand. She opened it wearing a tight black fishnet bodysuit over a white bra and panties. The second she saw it was you, that familiar hungry look settled on her face."
},
{
type: "narration",
text: "She let you in. You sat on the sofa while she stood right in front of you."
},
{
speaker: "lasirena",
text: "You took your sweet time getting here, handsome."
},
{
speaker: "player",
text: "Eva needed some help. I couldn't just leave her hanging."
},
{
speaker: "lasirena",
text: "Alright then… what's the next topic?"
},
{
type: "narration",
text: "You opened the index page of the Kama Sutra."
},
{
speaker: "player",
text: "Cunnilingus."
},
{
type: "narration",
text: "A slow, dirty smile spread across her lips."
},
{
speaker: "lasirena",
text: "I gave you all the details for handjobs because you've never done one… and you never will. But I don't think you need a lecture on this. We can go straight to the application."
},
{
type: "narration",
text: "She slid both sides of her bra outward, letting her big, heavy tits spill free, then stepped between your legs and looked down at you."
},
{
type: "narration",
text: "You stood up immediately, grabbed two handfuls of her thick ass, and kissed her hard. La Sirena kissed you back even hungrier, already moaning into your mouth."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/lasirena/lasirenaEvent6Kiss1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "lasirena",
text: "Mmm… baby…"
},
{
type: "narration",
text: "You spun her around and pushed her forward onto the sofa. She landed on all fours in a perfect doggy position. You dropped to your knees, tore a hole in the fishnet right between her legs, and put your mouth straight on her pussy."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/lasirena/lasirenaEvent6PussyLicking1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "lasirena",
text: "Ahh—fuck… your tongue feels so good… just like that, baby…"
},
{
type: "narration",
text: "You licked her deeper, sucking on her clit while she kept pushing her ass back against your face. Meanwhile you stripped out of your own clothes."
},
{
speaker: "lasirena",
text: "Don't stop… eat me just like that… it feels amazing…"
},
{
type: "narration",
text: "After a while you turned her onto her back, tore the fishnet open even more from the front, and went right back between her thighs."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/lasirena/lasirenaEvent6PussyLicking2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "lasirena",
text: "Oh my god—yes… your mouth is so fucking good… keep licking me there…"
},
{
type: "narration",
text: "Her moans got louder and more desperate. She suddenly grabbed the back of your head and shoved your face harder against her pussy."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/lasirena/lasirenaEvent6PussyLicking3.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "lasirena",
text: "I'm so close… don't you dare stop… right there—fuck—"
},
{
type: "narration",
text: "She came hard, thighs shaking around your head as she soaked your face. Her body collapsed onto the sofa while you sat back on the other side, giving her a moment."
},
{
type: "narration",
text: "After a short while La Sirena got up, climbed over you, and pushed her heavy tits right into your face. You immediately started sucking and licking them while she moaned above you."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/lasirena/lasirenaEvent6Boobs1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "lasirena",
text: "Mmm… yes… use your mouth on them, baby… they feel so good in your hands…"
},
{
type: "narration",
text: "She slid down to her knees between your legs, wrapped both hands around your cock, and just stared at it for a second."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/lasirena/lasirenaEvent6Handjob1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "lasirena",
text: "Look at this… so fucking massive and rock hard already…"
},
{
type: "narration",
text: "She leaned in, kissed the tip, then slowly licked all the way down the length before starting to stroke you."
},
{
speaker: "player",
text: "That's it, slut… stroke that thick cock for me."
},
{
type: "narration",
text: "She started stroking harder, eyes locked on the head."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/lasirena/lasirenaEvent6Handjob2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "player",
text: "Fuck… your hands feel perfect. And those big soft tits look so fucking good while you do it."
},
{
speaker: "lasirena",
text: "You want to fuck them, don't you? Get up here and put this big cock between my tits."
},
{
type: "narration",
text: "You picked her up, laid her flat on the sofa, and slid your cock right between her heavy breasts. She immediately pushed them together around you while you started thrusting."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/lasirena/lasirenaEvent6Boobjob1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "lasirena",
text: "Mmm… look at you… so strong… fucking my tits like you own them…"
},
{
speaker: "player",
text: "These soft tits were made to get used like this."
},
{
type: "narration",
text: "You kept thrusting harder between them. After a while you felt yourself getting close."
},
{
speaker: "player",
text: "I'm gonna cum…"
},
{
speaker: "lasirena",
text: "I want it in my mouth… give me every drop, baby…"
},
{
type: "narration",
text: "You got off her, stood up, and started stroking yourself. La Sirena quickly dropped to her knees, opened her mouth, and stuck her tongue out."
},
{
type: "narration",
text: "You came hard across her tongue and lips. She immediately leaned forward, licked every last bit off your cock, and swallowed it all."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/lasirena/lasirenaEvent6Cum1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "lasirena",
text: "You really do know every little trick about licking pussy from that book…"
},
{
type: "narration",
text: "You gave her a dirty smile."
},
{
speaker: "player",
text: "There are a lot more things I know… if you'd like to find out."
},
{
speaker: "lasirena",
text: "Not tonight. I'm already exhausted and need to sleep. Go carefully… don't let anyone see you leaving."
},
{
type: "narration",
text: "She stood up and disappeared into the other room. You quietly fixed your clothes and left her apartment."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Leave her room">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div><div id="sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You wait until most of the students have moved on before walking up to Mandy. She notices you immediately, a slow smile already forming."
},
{
speaker: "player",
text: "Got a minute?"
},
{
speaker: "mandy",
text: "For you? Always."
}
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mandy/mandyPoints.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She leans against the desk, eyes dragging over you without any shame."
},
{
speaker: "player",
text: "I joined a month late. I still don't really get how the points system works here."
},
{
speaker: "mandy",
text: "Two parts. First, every student has to perform in front of a live audience at least once this semester. Doesn't matter what your main skill is. You pick something people can watch — dancing, singing, acting, whatever — and you perform. The better the crowd reacts, the more points you get."
},
{
speaker: "mandy",
text: "Second, there are regular competitions and tests for your actual skills. Coding, design, pottery, all of that. Those are separate, but they still count toward your overall score."
},
{
speaker: "player",
text: "And I missed the first round of both."
},
{
speaker: "mandy",
text: "You did. Which means you're starting behind."
},
{
type: "narration",
text: "She tilts her head, watching you with clear interest."
},
{
speaker: "player",
text: "I don't want to stay behind. Is there any way I can still get those points?"
},
{
speaker: "mandy",
text: "Normally? No. We don't set up private tests just because someone arrived late… even if they look as good as you do."
},
{
speaker: "player",
text: "So there's nothing?"
},
])>>
</div>
<div id = "Continue1">
<hr>
<center>
<<link "Continue">>
<<append "#sceneDialogue">>
<<= setup.renderDialogue([
{
type: "narration",
text: "Mandy goes quiet for a second. Her eyes move down your body slowly, like she's thinking."
}
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mandy/mandyTask.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "mandy",
text: "There might be one option."
},
{
speaker: "player",
text: "I'm listening."
},
{
speaker: "mandy",
text: "There's a girl named Riley. Brilliant, but she's not doing great. On your first day she got excited about learning guitar from you."
},
{
speaker: "mandy",
text: "If you can actually make her improve… get her better at it, or at least raise her scores… I'll count that as your missed test and give you the points."
},
{
speaker: "player",
text: "So I have to coach someone just to catch up on one month?"
},
{
speaker: "mandy",
text: "That's the offer."
},
{
speaker: "player",
text: "That's a lot of work for a month's worth of points. I'm basically doing part of your job."
},
{
type: "narration",
text: "Mandy pauses. A small, amused smile pulls at her lips."
},
{
speaker: "mandy",
text: "…You're not wrong."
},
{
type: "narration",
text: "She steps closer, voice dropping."
},
])>>
<</append>>
<<replace "#Continue1">>
<div id = "Continue2">
<hr>
<center>
<<link "Continue">>
<<append "#sceneDialogue">>
<<= setup.renderDialogue([
{
speaker: "mandy",
text: "Fine. If you pull this off, you get the points… and I'll give you something extra."
},
{
speaker: "player",
text: "Something extra?"
},
{
speaker: "mandy",
text: "Something personal. The kind of reward I don't usually hand out to students."
},
{
type: "narration",
text: "Her eyes flick down to your mouth for a moment before coming back up."
}
])>>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mandy/mandyExtra.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "mandy",
text: "Do well with Riley, and I'll make sure you feel very appreciated."
},
{
speaker: "player",
text: "Alright. I'll do it."
},
{
speaker: "mandy",
text: "Good."
},
{
type: "narration",
text: "She reaches out and lightly runs her fingers down your forearm."
},
{
speaker: "mandy",
text: "Help her improve. When you're done… come find me for your reward."
},
{
type: "narration",
text: "She gives you one last slow look, then turns and walks away, hips swaying just enough to make sure you watch."
}
]) >>
<</append>>
<<replace "#Continue2">>
<div id="Continue3">
<hr>
<center>
<<link "Continue">>
<<append "#sceneDialogue">>
<<run setup.finishEvent()>>
<</append>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
<</replace>>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<img class="background" src="media/event/mandy/mandyEvent2.jpg">
<<= setup.renderDialogue([
{
type: "narration",
text: "Evening. The Skill Hub is quieter than usual when you find Mandy near one of the tables, going through a stack of papers."
},
{
speaker: "player",
text: "There you are."
},
{
speaker: "mandy",
text: "Looking for me?"
},
{
speaker: "player",
text: "I was. I finished what you asked me to do, so I'm here for what you promised."
},
{
type: "narration",
text: "Mandy looks up from the papers, then gives you a slow, knowing smile."
},
{
speaker: "mandy",
text: "You certainly seem confident."
},
{
speaker: "player",
text: "Shouldn't I be?"
},
{
speaker: "mandy",
text: "You should. I noticed what you did with Riley."
},
{
speaker: "mandy",
text: "I asked you to help her with guitar. Instead, you helped her figure out what she could actually excel at. That's considerably better than what I asked for."
},
{
speaker: "player",
text: "She just needed someone to see it."
},
{
speaker: "mandy",
text: "And apparently, you're very good at seeing things."
},
{
type: "narration",
text: "She studies you for a moment, her expression turning more thoughtful."
},
{
speaker: "mandy",
text: "I've been watching you since you got here. You adapt quickly, you pick things up, you work well with people… and somehow you keep ending up ahead of everyone around you."
},
{
speaker: "mandy",
text: "You're wasting a lot of potential if all you do is what everyone else does."
},
{
speaker: "player",
text: "You're making me sound pretty special. I'm guessing that comes with extra credits… and maybe a special reward?"
},
{
speaker: "mandy",
text: "You get ten percent of the credits you missed."
},
{
speaker: "player",
text: "Ten? We agreed on the full amount."
},
{
speaker: "mandy",
text: "You can still earn the rest."
},
{
speaker: "player",
text: "How?"
},
{
speaker: "mandy",
text: "From now on, when a student comes to me because they're struggling with something, I'll send them to you."
},
{
speaker: "mandy",
text: "Maybe they need someone to teach them. Maybe they need help practicing or rehearsing. Maybe they're preparing for a performance and need someone to perform alongside them."
},
{
speaker: "player",
text: "And that counts toward the credits I missed?"
},
{
speaker: "mandy",
text: "If you actually help them, yes."
},
{
speaker: "mandy",
text: "But don't confuse helping someone with taking their place. If you perform alongside them, they get the credit for their performance. You'll still have to do your own."
},
{
speaker: "player",
text: "So you're really making me work for that hundred percent."
},
{
speaker: "mandy",
text: "You wanted the full amount."
},
{
type: "narration",
text: "You give her a look, then let a small smile creep across your face."
},
{
speaker: "player",
text: "Fine. But you still owe me something."
},
{
speaker: "mandy",
text: "I haven't forgotten."
},
{
speaker: "player",
text: "So?"
},
{
speaker: "mandy",
text: "Not here. Come to my room."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Go to her room">>
<<append "#sceneDialogue">>
<<= setup.renderDialogue([
{
type: "narration",
text: "A short while later you're sitting on the edge of her bed. Mandy closes the door behind her and turns to face you."
},
{
speaker: "mandy",
text: "Go ahead. Take your reward."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mandy/mandyEvent2Kiss.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You don't waste a second. You pull her in and kiss her hard. She moans into your mouth almost immediately."
},
{
speaker: "mandy",
text: "Mmm—"
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mandy/mandyEvent2Boobs.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "Your hands shove her top down, freeing her tits. You take one nipple into your mouth, sucking while your other hand rubs firmly between her legs over her shorts. She's already warm and damp under the fabric."
},
{
speaker: "mandy",
text: "Ahh… fuck—"
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/intimacy/mandy/mandyRoomKiss4.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "Her moans get louder. Suddenly she pushes you back onto the bed, climbs straight onto your lap, and kisses you like she's starving — deep, messy, grinding her pussy hard against the bulge in your pants."
},
{
type: "narration",
text: "You reach for the button of her shorts. Mandy catches your wrist and holds it."
},
{
speaker: "mandy",
text: "That's enough. You've got your reward."
},
{
speaker: "player",
text: "Only this much?"
},
{
speaker: "mandy",
text: "Ten percent of the credits means ten percent of the reward."
},
{
speaker: "player",
text: "And the other ninety?"
},
{
speaker: "mandy",
text: "You'll have to earn that too… and I have a feeling you're going to enjoy trying."
},
{
speaker: "player",
text: "You're really enjoying this, aren't you?"
},
{
speaker: "mandy",
text: "A little more than I should."
},
{
type: "narration",
text: "She climbs off your lap, straightens her top, and opens the door."
},
{
speaker: "mandy",
text: "Leave. I'm already wet enough to let you fuck me, and that's not what the ten percent covers."
},
{
type: "narration",
text: "She gives you one last slow look as you leave, clearly pleased with how worked up she's left you."
}
]) >>
<</append>>
<<replace "#continue1">>
<div id = "continue2">
<hr>
<center>
<<link "Get out">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "Mandy finished giving instructions. The last few students filtered out of the Skill Hub until it was just the two of you left."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mandy/mandyEvent3Kiss1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You walked straight up to her, grabbed her by the waist, and kissed her hard — tongue, heat, no hesitation."
},
{
type: "narration",
text: "Mandy froze for half a second, then kissed you back before pulling away, eyes narrowed."
},
{
speaker: "mandy",
text: "The fuck was that for?"
},
{
speaker: "player",
text: "I didn't just help Riley find her talent. She made the cheerleading squad. That deserves its own reward… so I took it."
},
{
type: "narration",
text: "A slow, filthy smile spread across Mandy's face."
},
{
speaker: "mandy",
text: "Shit… that actually does deserve better than just a kiss."
},
{
speaker: "player",
text: "Then where are we doing it? Your room? Or are you feeling brave enough to stay right here?"
},
{
speaker: "mandy",
text: "Too late. You already took your reward when you shoved your tongue in my mouth without asking. If you'd told me first, I might've let you collect properly… but you decided to help yourself."
},
{
type: "narration",
text: "Your face dropped. The disappointment was obvious and she looked way too satisfied watching it."
},
{
speaker: "mandy",
text: "Don't look so fucking sad. You might still get another chance at a real reward…"
},
{
speaker: "player",
text: "What do I have to do?"
},
{
speaker: "mandy",
text: "Jane needs an acting partner for her skit. She's performing in front of everyone, and apparently she wants someone who can actually keep up with her."
},
{
speaker: "mandy",
text: "Make her shine up there, and we'll talk about your reward afterward. I think you'll like what I have in mind."
},
{
speaker: "player",
text: "Deal. I'll make sure she puts on a show worth remembering."
},
{
type: "narration",
text: "Mandy smirked, clearly enjoying how quickly you agreed."
},
{
speaker: "mandy",
text: "Good. Now get out of here before I change my mind and let you collect early."
},
{
type: "narration",
text: "You left the Skill Hub with her eyes still on you, already thinking about what that next reward was going to feel like."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Leave skillHub">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You knocked on Mandy's door. She opened it with that slow, knowing look already on her face and stepped aside."
},
{
speaker: "mandy",
text: "Come in. Judging by that look on your face, I already know why you're here."
},
{
type: "narration",
text: "You stepped inside. Her eyes dropped straight to your crotch and stayed there a second too long while you spoke."
},
{
speaker: "player",
text: "Jane's performance killed it. Loudest cheers of the night, people actually standing. I did exactly what you asked… so I'm here for the reward you promised."
},
{
type: "narration",
text: "A slow smile spread across Mandy's face as her eyes dropped to your crotch again before meeting yours."
},
{
speaker: "mandy",
text: "Yeah… I'd say you've earned something."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mandy/mandyEvent4Misread.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She reached out and gave your cock a short, firm squeeze through your pants before pulling her hand away."
},
{
speaker: "mandy",
text: "Already got a boner just thinking about it, huh?"
},
{
speaker: "player",
text: "These pants are just tight. I'm not really hard yet… though I could be if you put those hands back on it properly."
},
{
type: "narration",
text: "Mandy raised an eyebrow, half amused, half skeptical."
},
{
speaker: "mandy",
text: "Wait… you're telling me that's not even fully hard?"
},
{
speaker: "player",
text: "I'm not. Go ahead. Put your hand back where you had it."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mandy/mandyEvent4Feel1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You grabbed her wrist and pressed her hand against your crotch. She wrapped her fingers around the thick shape and immediately started stroking it through the fabric, testing the weight."
},
{
speaker: "mandy",
text: "Fuck… that's already this big and you're telling me it isn't even hard yet?"
},
{
speaker: "player",
text: "Keep doing that and you'll find out just how much bigger it gets."
},
{
speaker: "mandy",
text: "Jesus Christ… you've got me so fucking wet right now."
},
{
speaker: "player",
text: "I can fix that. Let me bend you over and fuck it out of you."
},
{
speaker: "mandy",
text: "Trust me, I want to shove this thing straight up my ass. That's how horny you've made me. But that would be rewarding you way too soon… and I'm not doing that yet."
},
{
type: "narration",
text: "She dropped to her knees between your legs and started unzipping your pants, still looking up at you."
},
{
speaker: "mandy",
text: "I'm sure once you finally get to put it in my ass, all you'll ever ask for is my butthole."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mandy/mandyEvent4Unzip1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "Your cock sprang free. Mandy's eyes went wide and hungry. She grabbed it immediately with both hands and just stared."
},
{
speaker: "mandy",
text: "Okay… I take it back. Forget my ass. I can't even wrap my fucking hands around this. This cock is massive… thick, heavy, veins everywhere. It's ridiculous."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mandy/mandyEvent4Handjob1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "Her hands picked up the pace, her eyes staying fixed on you as her breathing grew heavier."
},
{
speaker: "mandy",
text: "Look at it throb in my hands… already leaking and I just started."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mandy/mandyEvent4Handjob2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She leaned in and started sucking on your balls while both hands kept working your shaft."
},
{
type: "narration",
text: "You grabbed the back of her head and held her there, making her take them deeper."
},
{
speaker: "player",
text: "That's it… suck them while you stroke that thick cock. Good girl."
},
{
speaker: "player",
text: "You're dripping too. Let me fuck that wet little pussy."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mandy/mandyEvent4Denial1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "mandy",
text: "I want it… fuck, I really want it. But you can't fuck my pussy. Not yet."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mandy/mandyEvent4Handjob3.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She stroked harder, spit running down your shaft, eyes locked on yours."
},
{
speaker: "mandy",
text: "You can cum all over my face instead. That's the reward for now."
},
{
type: "narration",
text: "You felt yourself getting close. You stood up, took your cock in your own hand, and started stroking right in front of her face."
},
{
type: "narration",
text: "Mandy opened her mouth wide and stuck her tongue out, waiting."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mandy/mandyEvent4Cum1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You came hard, thick ropes shooting straight into her open mouth. She didn't flinch—just took every drop, swallowed it all, and opened her mouth again to show it was empty."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mandy/mandyEvent4Swallow1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "mandy",
text: "Fuck… that tasted so good. Thick and warm."
},
{
type: "narration",
text: "She wiped her lips with her thumb and looked up at you, still on her knees."
},
{
speaker: "mandy",
text: "Hope you got what you came for. You can leave now."
},
{
speaker: "player",
text: "I wanted a lot more than that… but I won't complain about what I got. This'll work for now."
},
{
type: "narration",
text: "Mandy smirked, clearly pleased she'd left you wanting more, and watched you fix your pants before you walked out."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Leave her room">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "The Skill Hub was empty except for Mandy. You walked straight up to her, pulled her in, and kissed her. She kissed you back without hesitation."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mandy/mandyEvent5Kiss1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "When you broke the kiss she looked at you with a small, knowing smile."
},
{
speaker: "mandy",
text: "You seem really happy. What's got you like this?"
},
{
speaker: "player",
text: "Nothing much. Just excited for the next task."
},
{
type: "narration",
text: "Mandy let out a short laugh."
},
{
speaker: "mandy",
text: "Unfortunately there are no tasks for you right now."
},
{
speaker: "player",
text: "What? There have to be students who still haven't done their performances or whatever."
},
{
speaker: "mandy",
text: "Everyone in your class already finished theirs while you weren't here. You joined a month late, remember?"
},
{
type: "narration",
text: "Your face dropped. Mandy noticed and her smile softened a little."
},
{
speaker: "mandy",
text: "You can still get a reward though."
},
{
speaker: "player",
text: "How? You just said everyone already finished everything."
},
{
speaker: "mandy",
text: "The university president is coming to visit soon. I've got a mountain of paperwork and a bunch of other tutor shit to handle before that."
},
{
speaker: "player",
text: "Alright, so you need help with all of that?"
},
{
speaker: "mandy",
text: "No. I need you after all the paperwork and everything else is done."
},
{
speaker: "player",
text: "What am I supposed to help with then if everything will already be finished?"
},
{
speaker: "mandy",
text: "I'll be stressed as fuck by the end of it. I'm going to need someone to calm me down… properly."
},
{
type: "narration",
text: "You gave her a slow, knowing smile."
},
{
speaker: "player",
text: "Just let me know when you need me."
},
{
type: "narration",
text: "Mandy's eyes lingered on you for a second longer before you turned and left the Skill Hub."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Leave Skillhub">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You barely knocked before Mandy opened the door, grabbed your hand, and pulled you inside. She didn't say a word — just walked straight to the sofa, climbed on, and got into doggy position, arching her back."
},
{
speaker: "mandy",
text: "Get over here and eat this dripping cunt."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mandy/mandyEvent6PussyLicking1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You dropped to your knees behind her, pulled her shorts and panties down in one move, and buried your face between her legs. She was already soaked. You licked her slowly at first, then harder, tongue sliding deep while your hands gripped her hips."
},
{
speaker: "mandy",
text: "Ahh… fuck yes… eat that pussy…"
},
{
type: "narration",
text: "You kept going, sucking on her clit and pushing your tongue inside her. Mandy's moans got louder and filthier."
},
{
speaker: "mandy",
text: "Just like that… don't stop… your tongue feels so fucking good…"
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mandy/mandyEvent6PussyLicking2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "After a while her thighs started shaking. She reached back, grabbed the back of your head, and shoved your face harder against her pussy."
},
{
speaker: "mandy",
text: "I'm so close… keep licking… fuck—don't you dare stop—"
},
{
type: "narration",
text: "She came hard, grinding against your mouth as she soaked your face. You kept licking her through it until her body finally relaxed."
},
{
type: "narration",
text: "Mandy stayed on all fours for a few seconds, breathing heavily."
},
{
speaker: "mandy",
text: "Shit… I needed that so fucking bad."
},
{
type: "narration",
text: "You stood up, pulled your cock out, and rested the thick length right on her ass."
},
{
speaker: "player",
text: "I've got something else you need even more."
},
{
type: "narration",
text: "Mandy looked back over her shoulder with a filthy smile."
},
{
speaker: "mandy",
text: "Fuck… I can already feel how heavy it is just sitting on my ass. I want it so bad…"
},
{
speaker: "mandy",
text: "But my pussy's still too sensitive. Use my ass instead."
},
{
type: "narration",
text: "For a second your mind went straight to the filthiest place possible."
},
{
speaker: "mandy",
text: "My ass cheeks, dumbass. Not inside."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mandy/mandyEvent6Assjob1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She reached back, grabbed both of her thick ass cheeks, and pushed them together around your cock. The soft heat wrapped around you immediately."
},
{
speaker: "player",
text: "Fuck… this fat ass feels incredible."
},
{
type: "narration",
text: "You started thrusting between her cheeks, watching your cock disappear and slide back out."
},
{
speaker: "player",
text: "These thick cheeks were made to get fucked like this."
},
{
speaker: "mandy",
text: "Then use them… slide that big cock between my ass and make a mess."
},
{
type: "narration",
text: "You kept thrusting harder, the wet sound of skin on skin filling the room. After a while you felt yourself getting close."
},
{
speaker: "player",
text: "I'm gonna cum…"
},
{
speaker: "mandy",
text: "Do it. Cum all over my ass. I want to feel it dripping down."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mandy/mandyEvent6Cum1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You came hard, shooting across her ass. The cum slowly slid down between her cheeks and reached her still-sensitive pussy."
},
{
speaker: "player",
text: "Fuck… that was hot."
},
{
type: "narration",
text: "Mandy stayed like that for a second, then pushed herself up and gave you a dirty little smile."
},
{
speaker: "mandy",
text: "Lock the door properly when you leave."
},
{
type: "narration",
text: "She walked straight into the bathroom and turned on the shower, leaving you standing there with your cock still out."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Leave her room">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div><div id="sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You were just about to leave the hostel when a burst of shouting comes from the reception."
},
{
type: "narration",
text: "A man's voice cuts through the hallway—loud, furious, and filled with profanity."
},
{
type: "narration",
text: "You turn toward the reception and step inside."
}
]) >>
<img class="background" src="media/event/mia/angryGuy.jpg">
<<= setup.renderDialogue([
{
type: "narration",
text: "A man is standing across the desk from Mia, screaming at her."
},
{
speaker: "angryGuy",
text: "You really went through with it? After everything I've done for you?"
},
{
speaker: "mia",
text: "Please... not here. Just go."
},
{
speaker: "angryGuy",
text: "You think you can just throw everything away and walk out on me?"
},
{
type: "narration",
text: "His voice stops the moment he notices you. He looks at you, then back at Mia. His jaw tightens."
},
{
speaker: "angryGuy",
text: "Fine."
},
{
type: "narration",
text: "He shoots Mia one last angry look before turning away. His footsteps hit the floor heavily as he storms out of the reception."
}
]) >>
</div>
<div id="continue1">
<hr>
<center>
<<link "Continue">>
<<append "#sceneDialogue">>
<<= setup.renderDialogue([
{
type: "narration",
text: "The doors swing shut behind him. For a few seconds, the reception is completely silent. Mia lowers her head and tries to continue working."
},
{
type: "narration",
text: "But her hands are trembling. Her eyes are glassy, red around the edges, and tears are already gathering despite how desperately she's trying to hold them back."
},
{
speaker: "player",
text: "Mia..."
},
{
type: "narration",
text: "She quickly wipes beneath one eye."
},
{
speaker: "mia",
text: "I'm fine."
},
{
speaker: "player",
text: "You're not."
},
{
type: "narration",
text: "She tries to smile, but it barely lasts a second."
},
{
speaker: "player",
text: "Who was that guy? Why was he talking to you like that?"
},
{
type: "narration",
text: "Mia looks down at the desk."
}
]) >>
<</append>>
<<replace "#continue1">>
<div id="continue2">
<hr>
<center>
<<link "Continue">>
<<append "#sceneDialogue">>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaCry.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "mia",
text: "He... he was my husband."
},
{
type: "narration",
text: "She takes a shaky breath."
},
{
speaker: "mia",
text: "I filed for divorce."
},
{
type: "narration",
text: "Her voice cracks."
},
{
speaker: "mia",
text: "He found out, and... he came here to make sure I knew exactly how angry he was."
},
{
type: "narration",
text: "A tear slips down her cheek. She wipes it away, but another follows."
},
{
speaker: "mia",
text: "I tried so hard, you know..."
},
{
type: "narration",
text: "Her breathing becomes uneven."
},
{
speaker: "mia",
text: "I trusted him with my life. I gave him everything I had."
},
{
type: "narration",
text: "She looks at you, her eyes completely overwhelmed now."
},
{
speaker: "mia",
text: "But he never trusted me."
},
{
speaker: "mia",
text: "He questioned everything I did. Where I went. Who I talked to. What I wore. Every decision I made had to go through him."
},
{
type: "narration",
text: "Her voice trembles harder."
},
{
speaker: "mia",
text: "He didn't treat me like his wife. He treated me like I was something he owned."
},
{
type: "narration",
text: "She covers her mouth for a moment, trying to steady herself."
},
{
speaker: "mia",
text: "I hate him so much now..."
},
{
type: "narration",
text: "You step closer. Without saying anything, you pull Mia into a hug. For a moment, she freezes. Then her arms wrap tightly around you. Much tighter than you expected. She presses herself against you and finally lets herself cry."
}
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaHug.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "mia",
text: "I'm sorry..."
},
{
speaker: "player",
text: "You don't have to apologize."
},
{
speaker: "mia",
text: "I shouldn't be crying like this."
},
{
speaker: "player",
text: "You have every right to."
},
{
type: "narration",
text: "She grips your shirt tighter."
}
]) >>
<</append>>
<<replace "#continue2">>
<div id="continue3">
<hr>
<center>
<<link "Continue">>
<<append "#sceneDialogue">>
<<= setup.renderDialogue([
{
speaker: "player",
text: "Mia, look at me."
}
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaLook.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She slowly lifts her face. Her cheeks are flushed from crying, her eyes puffy and wet, but there's still something incredibly beautiful about her."
},
{
speaker: "player",
text: "You're not something anyone gets to own."
},
{
type: "narration",
text: "Mia's lips part slightly."
},
{
speaker: "player",
text: "You're smart. You're kind. You're stronger than you give yourself credit for."
},
{
type: "narration",
text: "You gently wipe a tear from her cheek."
},
{
speaker: "player",
text: "And honestly... anyone who couldn't see what he had in front of him didn't deserve you in the first place."
},
{
type: "narration",
text: "Mia stares at you for a moment, almost as if she's trying to understand why hearing those words affects her so much."
},
{
speaker: "mia",
text: "You really mean that?"
},
{
speaker: "player",
text: "Every word."
},
{
type: "narration",
text: "You begin to loosen your arms, thinking she might need some space. But before you can step away, Mia pulls you back into the hug. Even tighter this time."
},
{
speaker: "mia",
text: "Don't..."
},
{
type: "narration",
text: "You stop."
},
{
speaker: "mia",
text: "Can you... just stay like this for a little longer?"
},
{
speaker: "player",
text: "Of course."
},
{
type: "narration",
text: "You hold her again. Neither of you says another word. The reception grows quiet around you."
},
{
type: "narration",
text: "Her breathing slowly steadies against your chest, and eventually her grip begins to loosen. After a while, Mia finally pulls back."
},
{
type: "narration",
text: "She looks up at you, her eyes still slightly red, but the tears have stopped."
},
{
speaker: "mia",
text: "Thank you."
},
{
type: "narration",
text: "She gives you a small, vulnerable smile."
},
{
speaker: "mia",
text: "I really needed that."
},
{
speaker: "player",
text: "Anytime."
},
{
type: "narration",
text: "A tiny smile appears on her face."
},
{
speaker: "player",
text: "Besides... I don't think someone as amazing as you should have to face everything alone."
},
{
type: "narration",
text: "Mia lets out a quiet laugh through the last traces of her tears."
},
{
speaker: "mia",
text: "You're dangerously good at saying the right thing."
},
{
speaker: "player",
text: "Only when the person in front of me deserves to hear it."
},
{
type: "narration",
text: "She looks at you for a second longer."
},
{
type: "narration",
text: "Then, almost shyly, Mia leans forward and presses a soft kiss against your cheek."
}
]) >>
<img class="background" src="media/event/mia/miaCheekKiss.jpg">
<<= setup.renderDialogue([
{
type: "narration",
text: "You blink, caught slightly off guard."
},
{
type: "narration",
text: "Mia smiles."
},
{
speaker: "mia",
text: "A little thank-you."
},
{
type: "narration",
text: "She glances toward the entrance."
},
{
speaker: "mia",
text: "Aren't you supposed to be somewhere?"
},
{
speaker: "player",
text: "I was."
},
{
type: "narration",
text: "A small smile crosses your face."
},
{
speaker: "player",
text: "But I'm glad I stopped."
},
{
type: "narration",
text: "Mia's smile grows warmer."
},
{
speaker: "mia",
text: "Go. Before I give you another reason to stay."
},
{
speaker: "player",
text: "I'll see you around, Mia."
},
{
speaker: "mia",
text: "I'll be looking forward to it."
},
{
type: "narration",
text: "You give her one last smile before turning toward the exit."
},
{
type: "narration",
text: "As you walk away, you can still feel the warmth of her kiss against your cheek."
}
]) >>
<</append>>
<<replace "#continue3">>
<hr>
<center>
<<link "Continue">>
<<run setup.finishEvent()>>
<</link>>
</center>
<</replace>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
</div><div id="sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You hear several sharp slaps from the reception, followed by Mia screaming in fear. Something inside you snaps, and you run toward the reception."
}
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaSlap.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You turn the corner and see Mia's husband beating her, one hand gripping her arm and the other raised. Your vision narrows. There's only him and the fact that he's touching her."
}
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaFight.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You rip him away from her. He barely turns before your fist connects. You don't stop. Punch after punch, you drive him across the reception, slam him into the wall, and put him on the floor. When he tries to get up, you haul him up again and keep going—until he's barely conscious."
},
{
type: "narration",
text: "You drag him outside and throw him onto the pavement."
},
{
speaker: "player",
text: "Stay away from her. Don't come back. Don't call her. Don't follow her. Don't even think about putting your hands on her again."
},
{
type: "narration",
text: "You grab his shirt one last time."
},
{
speaker: "player",
text: "If I ever see you near Mia again, you're going to wish you'd stayed away."
},
{
type: "narration",
text: "You shove him back."
},
{
speaker: "player",
text: "Get the hell out of here."
},
{
type: "narration",
text: "He stumbles away, barely able to stand."
}
]) >>
</div>
<div id="continue1">
<hr>
<center>
<<link "Continue">>
<<append "#sceneDialogue">>
<<= setup.renderDialogue([
{
type: "narration",
text: "You turn back inside. Mia is behind the desk, hands shaking, tears streaming down her face. The moment she sees you, she covers her face and starts sobbing harder."
}
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaCry2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You go straight to her."
},
{
speaker: "player",
text: "Mia."
},
{
speaker: "mia",
text: "I'm sorry…"
},
{
speaker: "player",
text: "You have nothing to be sorry for."
}
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaHug2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You gently pull her hands away from her face and take her into your arms. She freezes for half a second, then collapses against you, holding on tight."
},
{
speaker: "mia",
text: "I was so scared… I thought nobody was going to stop him."
},
{
speaker: "player",
text: "I will. You're not alone anymore."
},
{
type: "narration",
text: "She looks up at you, eyes red and shining."
},
{
speaker: "mia",
text: "You barely even know me."
},
{
speaker: "player",
text: "I know enough. I know you didn't deserve any of this."
},
{
type: "narration",
text: "She swallows."
},
{
speaker: "mia",
text: "He made me feel like I couldn't survive without him."
},
{
speaker: "player",
text: "You can. And you don't have to prove it to anyone."
},
{
type: "narration",
text: "A quiet moment passes. She stays pressed against your chest, her breathing slowly steadying."
},
{
speaker: "mia",
text: "I feel safe with you."
},
{
speaker: "player",
text: "Good."
},
{
type: "narration",
text: "She shakes her head slightly."
},
{
speaker: "mia",
text: "No… when you're here, I actually feel safe."
},
{
type: "narration",
text: "You gently brush a tear from her cheek."
},
{
speaker: "player",
text: "Then stay right here."
},
{
type: "narration",
text: "She stays pressed against you, still trembling a little in your arms."
}
]) >>
<</append>>
<<replace "#continue1">>
<div id="continue2">
<hr>
<center>
<<link "Continue">>
<<append "#sceneDialogue">>
<<= setup.renderDialogue([
{
speaker: "mia",
text: "Why… why did you look so angry?"
},
{
speaker: "player",
text: "Because nobody gets to hurt someone I care about."
},
{
type: "narration",
text: "Mia goes still for a second. Then she lifts her face to look at you."
},
{
speaker: "mia",
text: "Someone you care about…?"
},
{
speaker: "player",
text: "Yes."
},
{
type: "narration",
text: "Her eyes soften. She doesn't say anything else."
},
{
type: "narration",
text: "Instead, she leans in and kisses you."
}
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaKiss.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "Her lips are soft and warm against yours. She tastes sweet. For a moment the kiss is careful—then she presses closer, and it deepens. Her body melts into your arms, soft and yielding."
},
{
type: "narration",
text: "When your tongue brushes hers she makes a quiet sound, fingers curling into the back of your shirt as she pulls you tighter. You hold her closer. She gives in completely."
},
{
type: "narration",
text: "When she finally pulls back, her forehead rests against yours. Her breathing is uneven, a small real smile on her lips."
},
{
speaker: "mia",
text: "I'm glad you came."
},
{
speaker: "player",
text: "Me too."
},
{
type: "narration",
text: "She closes her eyes and stays in your arms, finally looking like she believes she's safe."
}
]) >>
<</append>>
<<replace "#continue2">>
<div id="continue3">
<hr>
<center>
<<link "Continue">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/intimacy/mia/miaRoomKiss5.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You walked up to the reception desk. The second Mia saw you her entire face lit up. She didn't even wait — she grabbed your shirt, and kissed you hard and deep right there in the open."
},
{
speaker: "mia",
text: "I love you… I love you so fucking much."
},
{
type: "narration",
text: "She pulled back just enough to look at you, still smiling like she couldn't contain it."
},
{
speaker: "player",
text: "You're in a really good mood."
},
{
speaker: "mia",
text: "After you beat the shit out of my ex and told him to stay the fuck away from me… he still came back. All bruised, taped up. But this time he didn't come to fight. He came to apologize for everything. Said he won't bother me anymore and he'll finish the divorce quietly."
},
{
speaker: "player",
text: "Good. That's exactly what that piece of shit needed to understand."
},
{
type: "narration",
text: "Mia looked at you with pure heat and something softer mixed together."
},
{
speaker: "mia",
text: "It never would've happened without you. You're the reason I finally feel free… and so fucking wet every time I think about what you did for me."
},
{
speaker: "player",
text: "I'd break a hundred more men if it meant keeping that smile on your face and that pretty pussy throbbing for me."
},
{
type: "narration",
text: "Mia's cheeks flushed hard. She bit her lip, eyes locked on yours."
},
{
speaker: "mia",
text: "Would you… like to see my secret spot in the city?"
},
{
speaker: "player",
text: "Did you just ask me out on a date?"
},
{
speaker: "mia",
text: "You can call it that… if you want."
},
{
speaker: "player",
text: "I want. Tell me when and where whenever you're ready. I'll be there."
},
{
type: "narration",
text: "Mia gave you one last hungry look, still smiling like she'd been holding that invitation in for a long time. You left the reception with her eyes following you the entire way."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Leave reception">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You reached downtown with your guitar case. Mia was already waiting, looking fucking gorgeous. The second she saw you her face lit up completely."
},
{
type: "narration",
text: "She walked straight up and hugged you tight, body pressed fully against yours."
},
{
speaker: "player",
text: "You look so fucking good it should be illegal."
},
{
speaker: "mia",
text: "You're one to talk… I've been wet since I left the hostel just thinking about you."
},
{
speaker: "mia",
text: "Come on. The secret spot's a bit far from here."
},
{
type: "narration",
text: "The two of you took a cab out of downtown, driving for nearly an hour before reaching a quiet stretch of land — a small river, thick grass, and trees everywhere. No buildings, almost no people. It was beautiful."
},
{
type: "narration",
text: "You both spread a mat on the grass. While Mia was pulling things out of her bag a few steps away, you took out your guitar and started playing."
},
{
type: "narration",
text: "She watched you the way a girl watches someone she's already fallen for — soft eyes, small smile, completely focused."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaEvent4Guitar1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "mia",
text: "Aren't you full of surprises…"
},
{
type: "narration",
text: "She walked over and sat right next to you."
},
{
speaker: "mia",
text: "If you had to dedicate a song to me… which one would it be?"
},
{
type: "narration",
text: "You didn't answer with words. You just started playing and sang the first lines of “Perfect” by Ed Sheeran."
},
{
type: "narration",
text: "Mia's expression melted. She had that pure soft “aww” look on her face."
},
{
speaker: "mia",
text: "That's my favourite song…"
},
{
speaker: "player",
text: "And you're my favourite person."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaEvent4Kiss1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You leaned in and kissed her. Soft at first, then deeper."
},
{
speaker: "mia",
text: "Want to see the real secret spot?"
},
{
speaker: "player",
text: "Isn't this it?"
},
{
speaker: "mia",
text: "This place is still a little known. The real one is deeper in. Completely empty."
},
{
type: "narration",
text: "You followed her further until you reached a hidden clearing — thick grass, a single tree with an old tire swing, and absolute silence. No one else in sight."
},
{
type: "narration",
text: "You sat down on the mat. Mia immediately climbed into your lap, straddling you."
},
{
speaker: "mia",
text: "Only you know about this place now. That's how special you are to me."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaEvent4Kiss2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She kissed you hard and deep. You kissed her back just as filthy, both hands already filling with her soft tits, squeezing them through her top."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaEvent4Boob2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You pushed the fabric down, freed her breasts, and kept groping them while your tongues stayed locked. After a while you broke the kiss and dropped your mouth to her nipples, sucking and licking them one after the other."
},
{
speaker: "mia",
text: "Ahh… fuck… that feels so good…"
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaEvent4Unzip1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "Mia slid off your lap, still kissing you, and started opening your pants while you were on your knees. The second your cock sprang free her expression completely changed."
},
{
speaker: "mia",
text: "Holy shit… it's huge. This thing is easily three times the size of my ex's. I can't even wrap my hand around it properly…"
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaEvent4Handjob2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She stared at it with pure hunger, then started worshipping it — soft kisses on the tip, slow licks, trying to take the head into her mouth but only managing a little before it was too much."
},
{
speaker: "mia",
text: "It's so thick… I can barely fit the tip. Fuck, I love how heavy it feels in my hand."
},
{
type: "narration",
text: "She stroked you while licking and kissing the head, that dirty little smile never leaving her face."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaEvent4Handjob3.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You grabbed her by the neck, pulled her up, and kissed her hard while she kept stroking your cock between your bodies."
},
{
speaker: "player",
text: "Look at you… on your knees in the middle of nowhere, stroking this thick cock like a good girl."
},
{
speaker: "mia",
text: "I can't help it… it's so fucking big and I've been thinking about it all day."
},
{
type: "narration",
text: "She kept jerking you, faster and tighter. You felt yourself getting close."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaEvent4Cum3.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You pushed her back onto the mat, took your cock in your own hand, and started stroking right above her."
},
{
speaker: "mia",
text: "Cum on my pussy… please. I want to feel it all over me."
},
{
type: "narration",
text: "You came hard, thick ropes shooting across her pussy and lower stomach while she watched every pulse with open hunger."
},
{
type: "narration",
text: "You leaned down and kissed her deeply, still breathing hard."
},
{
type: "narration",
text: "After a while you both got dressed. Mia kept glancing at the mess on her skin with a small, satisfied smile as the two of you left the secret spot together."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Go to hostel">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You walked into the reception area. It was empty except for an older man sitting on the couch with a cigar in his hand. Something about him carried a strong, calm presence."
},
]) >>
<img class="background" src="media/background/hogan_bg.jpg">
<<= setup.renderDialogue([
{
speaker: "player",
text: "Excuse me, sir. Do you know where Mia is?"
},
{
speaker: "hogan",
text: "She just stepped out to grab some documents. She'll be back shortly."
},
{
speaker: "player",
text: "Alright. Thank you."
},
{
speaker: "hogan",
text: "You must be the new transfer student. " + State.variables.player.name + ", right?"
},
{
type: "narration",
text: "You blinked, a little thrown off that he already knew your name."
},
{
speaker: "player",
text: "Yes, sir. That's me."
},
{
type: "narration",
text: "The man raised his hand with a warm, easy smile."
},
{
speaker: "hogan",
text: "Vincent Hogan. University President. It's good to finally meet you, son."
},
{
type: "narration",
text: "The way he said it felt genuine, almost fatherly."
},
{
speaker: "player",
text: "It's an honor to meet you, sir."
},
{
speaker: "hogan",
text: "I've been getting reports from almost every teacher in this college about you. You're not just doing what's required — you're taking on extra work, helping other students with their performances, their research, their training… all of it. And you've only been here a few weeks. That kind of potential doesn't show up often."
},
{
type: "narration",
text: "Just then Mia walked back into the reception, papers in hand. Hogan glanced over at her with a light, amused look."
},
{
speaker: "hogan",
text: "And here's the lovely girl you were looking for."
},
{
type: "narration",
text: "Mia's face brightened the moment she saw the two of you together."
},
{
speaker: "mia",
text: "Looks like you two already met."
},
{
speaker: "player",
text: "Yeah, we did."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaEvent5Meeting1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "hogan",
text: "But more than any of that, what really impressed me was how you stepped in and protected Mia from that crazy ex of hers."
},
{
speaker: "mia",
text: "How do you know about that?"
},
{
speaker: "hogan",
text: "There are cameras all over the hostel. I see everything that happens in real time."
},
{
type: "think",
text: "Shit… that means he's probably seen me going into the other girls' rooms too."
},
{
speaker: "hogan",
text: "You're a good young man. The kind this place needs more of."
},
{
type: "narration",
text: "He turned slightly toward Mia."
},
{
speaker: "hogan",
text: "Did you get everything?"
},
{
speaker: "mia",
text: "Yes, sir. All the documents are here."
},
{
speaker: "hogan",
text: "Good. I see something special in you, son. I'll make sure you have every opportunity to become something great."
},
{
type: "narration",
text: "With that, Vincent Hogan gave you one last warm nod and walked out of the reception with Mia at his side."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Leave Reception">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You walked into the reception and found Mia sitting in the spinning office chair, completely focused on the computer screen. Soft moans and wet sounds were coming from the speakers. She was watching porn and hadn't noticed you at all."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaEvent6Caught1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You stepped up behind her quietly, placed both hands on her shoulders, and spoke in a calm voice."
},
{
speaker: "player",
text: "Now Mia, you have to understand that this is how your father didn't raise you."
},
{
type: "narration",
text: "Mia jumped so hard the chair spun halfway around. Her face went pale with pure shock."
},
{
speaker: "mia",
text: "Oh my god—it's you. I thought it was Mr. Hogan."
},
{
speaker: "player",
text: "It could've been. The same girl who keeps warning me about cameras everywhere is sitting here watching porn out in the open."
},
{
speaker: "mia",
text: "Mr. Hogan went to inspect the boys' hostel and the college. As long as he's not in his office, nobody's watching the cameras. And because of the inspection every student is over there too… the whole hostel is empty. I took the chance."
},
{
type: "narration",
text: "She glanced at the screen again, then back at you, voice dropping."
},
{
speaker: "mia",
text: "It's been so long since I came. I masturbated a few times back in college before I got married… and after that I never orgasmed again. Not during the marriage, not after. You might've made me cum on our date, but I just got out of that nightmare and your cock is so fucking huge… it's even bigger than the guy in this video. I got intimidated. I didn't know if I could even fit it in my mouth or my pussy. And then you walk around the campus and the hostel every single day right in front of me… I get so turned on I can barely think straight."
},
{
speaker: "player",
text: "Why the fuck didn't you tell me earlier, slut? I would've dragged you into my room and made you cum so many times you'd forget how to walk."
},
{
speaker: "mia",
text: "I can't risk it, baby. There are cameras everywhere. If I got caught I'd lose this job… and I don't have a backup right now."
},
{
type: "narration",
text: "She looked back at the porn still playing on the screen."
},
{
speaker: "mia",
text: "Do you think the girl in the video is feeling good… it feels good?"
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaEvent6Caught2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "player",
text: "Yeah. I mean, you've never been fucked like that?"
},
{
speaker: "mia",
text: "No… I don't think so."
},
{
speaker: "player",
text: "Really? That's too bad."
},
{
type: "narration",
text: "You reached around and filled both hands with her big soft tits, groping them firmly through her top."
},
{
speaker: "mia",
text: "Be careful… the cameras—"
},
{
speaker: "player",
text: "Didn't you just say Hogan's out on inspection? Nobody's watching. And if I'm the reason you're this dripping wet every day, then making you cum is the least I can do for you."
},
{
type: "narration",
text: "You pulled her top down, freed her heavy tits, and started massaging them properly. Mia's head fell back as soft, hot moans slipped out of her."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaEvent6Boobs1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "player",
text: "Spread your legs. Put your fingers on that pussy."
},
{
type: "narration",
text: "Mia obeyed immediately, spreading her thighs and sliding her hand between them. She started rubbing herself while you kept playing with her tits, soft moans turning louder."
},
{
type: "narration",
text: "You spun the chair around so she faced you, dropped to your knees, and buried your face between her thighs. You licked and sucked her soaked pussy without holding back."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaEvent6PussyLicking1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "mia",
text: "Ahh—fuck… baby… I've been waiting so long for this… your tongue feels so good…"
},
{
type: "narration",
text: "You kept eating her deeper. After a while her hand landed on the back of your head and pushed you harder against her."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaEvent6PussyLicking3.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "mia",
text: "I'm so close… don't stop… right there—"
},
{
type: "narration",
text: "Mia came hard, thighs clamping around your head as she soaked your face. Her body went limp in the chair."
},
{
type: "narration",
text: "You leaned up over her and kissed her deep, letting her taste herself on your tongue."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaEvent6Kiss1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "player",
text: "Have you ever tasted your own pussy before?"
},
{
speaker: "mia",
text: "No… it tastes good."
},
{
type: "narration",
text: "She kissed you back even deeper for a long moment."
},
{
speaker: "player",
text: "One orgasm isn't enough after a wait that long. Get on all fours on the chair."
},
{
type: "narration",
text: "Mia turned around and got on all fours on the seat. You put your mouth right back on her pussy from behind and started licking her again."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaEvent6PussyLicking2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "mia",
text: "Oh my god—yes… just like that… don't stop eating me…"
},
{
type: "narration",
text: "She came a second time even harder, body shaking as she collapsed forward on the chair, breathing ragged."
},
{
type: "narration",
text: "She looked completely worked up, still twitching. You stood next to her."
},
{
speaker: "mia",
text: "Wait… give me a second, baby. My pussy is too sensitive right now. Back-to-back orgasms… let me do something for you while my body calms down."
},
{
type: "narration",
text: "She was already unzipping your pants. Your cock almost fell straight onto her face. Her eyes went huge."
},
{
speaker: "mia",
text: "Oh my god… I have never seen a cock so big."
},
{
speaker: "player",
text: "You've seen it before."
},
{
speaker: "mia",
text: "Yeah, but it feels like it got even bigger… it's thicker than any pornstar's I've ever watched."
},
{
type: "narration",
text: "She wrapped both hands around it and started stroking slowly."
},
{
speaker: "mia",
text: "Does this feel good, baby?"
},
{
speaker: "player",
text: "Yes. Lick that dick all up and down."
},
{
type: "narration",
text: "Mia ran her tongue from the base all the way to the head."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaEvent6Handjob1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "player",
text: "That's good."
},
{
type: "narration",
text: "She stroked a bit more, then spat a thick wad of spit onto your cock."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaEvent6Handjob2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "player",
text: "I like the way you spit on it."
},
{
type: "narration",
text: "She stroked faster, spit making everything slick."
},
{
speaker: "player",
text: "That's it. The more spit the better."
},
{
type: "narration",
text: "She leaned in and took your balls into her mouth while both hands kept working your shaft."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaEvent6Handjob3.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "player",
text: "Fuck… look at you, slut. Sucking on my balls while you stroke this thick cock."
},
{
speaker: "player",
text: "Is your pussy feeling normal again?"
},
{
speaker: "mia",
text: "Yes… it's ready again."
},
{
speaker: "player",
text: "Today isn't about me. Today is all about you. I'm going to make you cum until you can't take any more."
},
{
type: "narration",
text: "You dropped to your knees again and went straight back to licking her. Mia's moans were louder and more desperate this time — she was already close."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaEvent6PussyLicking4.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "Within less than a minute she came again, hard, flooding your mouth. Her body went completely slack and she started sliding out of the chair."
},
{
type: "narration",
text: "You stripped both of you the rest of the way, picked her up, and carried her to the sofa set nearby. You laid her upside down — head on the seat cushion, pussy up in the air — and stood behind the chair."
},
{
speaker: "player",
text: "Hope you got enough time to recover."
},
{
type: "narration",
text: "You spat directly onto her pussy and buried your face between her legs again."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaEvent6PussyLicking5.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "mia",
text: "Ahh—fuck—yes… keep licking me just like that… don't stop…"
},
{
type: "narration",
text: "She came a fourth time and her body slipped right off the chair onto the floor. You caught her, picked her up again, and laid her properly on the sofa so she could actually rest."
},
{
type: "narration",
text: "A couple of minutes passed before she spoke, still breathing hard."
},
{
speaker: "mia",
text: "You're so strong, baby… you picked me up from that office chair, put me on the other one, then picked me up again and laid me here. I can't believe after cumming that many times I'm already getting wet again just from how you're using me and my pussy…"
},
{
type: "narration",
text: "You gave her a filthy look."
},
{
speaker: "player",
text: "You know what that means. There's still another orgasm left inside you."
},
{
type: "narration",
text: "You got on your knees, pushed her legs back toward her head, and started eating her out again. This time you also rubbed her asshole with one finger while your tongue worked her clit."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaEvent6PussyLicking6.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "mia",
text: "Oh my god—yes… lick me… rub me there… don't stop… it feels so fucking good—"
},
{
type: "narration",
text: "She came a fifth time, even harder, and looked like she had almost fainted — completely drained."
},
{
type: "narration",
text: "You stood up, walked to the sofa across from her, and lay flat on your back with your eyes closed, catching your own breath. A few seconds later you felt warm hands wrap around your cock. Mia had crawled over and was kneeling beside you, stroking your thick cock slowly."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaEvent6Handjob4.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "mia",
text: "You made me cum five times, baby… I've never felt anything like that in my life…"
},
{
type: "narration",
text: "She kept stroking harder, then leaned down and licked along the length of your cock."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaEvent6Handjob5.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "mia",
text: "It tastes so good…"
},
{
type: "narration",
text: "She stroked even faster. You sat up halfway, grabbed the back of her neck, and kissed her deep and filthy while her hand never stopped moving."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaEvent6Handjob6.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "player",
text: "I can't wait until you're ready for me to fuck you properly… I'm going to bury this cock deep inside you and pump every drop of cum into that tight pussy."
},
{
speaker: "mia",
text: "Imagine it right now, baby… fucking me hard and deep on this same sofa you just made me cum on… going balls deep… using me like your personal fucktoy… because that's exactly what I want to be for you."
},
{
type: "narration",
text: "You felt yourself getting right to the edge."
},
{
speaker: "player",
text: "I'm close… keep that tongue out and your mouth open. You won't have to wait long."
},
{
type: "narration",
text: "Mia stuck her tongue out immediately. You stood up, grabbed a fistful of her hair, and stroked your cock right in front of her face until you came hard — most of it landing in her open mouth, the rest streaking across her cheeks and chin."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaEvent6Cum1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "That was the exact moment Vincent Hogan walked into the reception."
},
{
type: "narration",
text: "He stopped dead. His eyes took in both of you completely naked, Mia still on her knees with cum all over her face and tongue. The warm expression he usually wore was gone — replaced by pure disappointment and anger."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/mia/miaEvent6Caught3.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "player",
text: "Don't worry, sir… I taught her al…"
},
{
speaker: "hogan",
text: "Shut your mouth."
},
{
type: "narration",
text: "His voice was low and heavy, the way a father talks when his son has truly let him down."
},
{
speaker: "hogan",
text: "I praised you so highly the last time we spoke. I told you I saw real potential in you… that you could become a great man. And this is how you repay that? Standing here naked with my receptionist's face covered in your cum?"
},
{
speaker: "hogan",
text: "When I finish the rest of the inspection, I want both of you in my office. Do you understand me?"
},
{
type: "narration",
text: "He didn't wait for an answer. He turned and walked out, the door clicking shut behind him."
},
{
type: "narration",
text: "Mia's face had gone completely white. She started trembling."
},
{
speaker: "mia",
text: "I'm going to lose my job… oh my god, I'm going to lose everything… I fucked it all up… what am I going to do…"
},
{
speaker: "player",
text: "None of that is going to happen. Look at me. Trust me. We'll figure it out. Don't panic."
},
{
speaker: "player",
text: "Why is he even here? You said he went to the boys' hostel and the college for inspection."
},
{
speaker: "mia",
text: "That was supposed to be his schedule today… I don't know why he came back early."
},
{
type: "narration",
text: "Mia scrambled to put her clothes back on, hands still shaking."
},
{
speaker: "mia",
text: "Get dressed and get out of here. Now."
},
{
type: "narration",
text: "She finished dressing and almost ran out of the reception. You quickly pulled your clothes on and left right after her."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Leave Reception">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div><div id="sceneDialogue">
<img class="background" src="media/event/player/angela_playerEvent1.jpg">
<<= setup.renderDialogue([
{
speaker: "angela",
text: "Good morning. You must be the new transfer."
},
{
speaker: "angela",
text: "I'm Angela. I'll be teaching this course. Glad to finally have you here."
},
{
type: "narration",
text: "Angela steps closer to your desk, her eyes travel over you slowly, openly taking you in."
},
{
type: "narration",
text: "While she's still looking, your eyes drop for a second—right to her big tits straining against her blouse—then flick straight back to her face."
},
{
speaker: "player",
text: "Sorry... I didn't mean to stare"
},
{
speaker: "angela",
text: "You don't have to apologize. I was staring at you first"
},
{
speaker: "angela",
text: "Besides, if you're going to stare, don't look away so quickly. I was enjoying watching you."
},
{
type: "narration",
text: "Heat crawls up the back of your neck. That was not what you thought she'd say."
},
{
speaker: "player",
text: "I didn't expect that."
},
{
speaker: "angela",
text: "I can tell."
},
{
type: "narration",
text: "She gives you a slow, amused smile."
},
{
speaker: "angela",
text: "You looked guilty for about half a second. It was cute."
},
{
speaker: "angela",
text: "Now, unless you're planning on spending the entire semester staring at my boobs…"
},
{
speaker: "player",
text: "I wasn't planning on it."
},
{
speaker: "angela",
text: "Shame."
},
{
type: "narration",
text: "Angela gives you one last amused look before turning toward the rest of the class."
},
{
type: "narration",
text: "You settle back into your seat, opening your notebook as you take in the classroom around you."
}
]) >>
</div>
<div id="continue1">
<hr>
<center>
<<link "Continue">>
<<run setup.addPlayerStat("intelligence", 1)>>
<<run setup.addAffection("angela", 1)>>
<<append "#sceneDialogue">>
<img class="background" src="media/event/player/eva_playerEvent1.jpg">
<<= setup.renderDialogue([
{
type: "narration",
text: "A moment later, you glance to your right. A very cute girl is already looking at you."
},
{
type: "narration",
text: "The moment your eyes meet, something shifts. It isn't loud or dramatic—just a quiet, unexpected pull, like the air between you has changed. You don't fully understand it, but you feel the difference."
},
{
type: "narration",
text: "She doesn't look away. A small, almost amused smile touches her lips."
},
{
speaker: "eva",
text: "Um… I like your notes. They're actually really neat."
},
{
speaker: "player",
text: "I didn't know notes could be neat."
},
{
speaker: "eva",
text: "They can when you write them like that."
},
{
type: "narration",
text: "She smiles and turns her notebook toward you. The handwriting isn't as clean as yours, but the pages are dense with careful detail—every point laid out with quiet precision."
},
{
speaker: "player",
text: "Yours aren't as pretty as mine… but they're better where it counts. The details are solid."
},
{
type: "narration",
text: "Her smile softens."
},
{
speaker: "eva",
text: "I'm Eva, by the way. If you ever need them, just let me know. You'd probably need it—you're a month late."
},
{
speaker: "angela",
text: "Oh my God. Our little topper finally spoke to a boy."
},
{
type: "narration",
text: "Eva's expression shifts instantly."
},
{
speaker: "eva",
text: "Angela…"
},
{
speaker: "angela",
text: "What? I'm just messing with you."
},
{
speaker: "player",
text: "Well… I'm honored. The most beautiful girl I've ever seen chose to talk to me out of everyone here. And she's the topper, too."
},
{
type: "narration",
text: "A faint blush rises in her cheeks. She tries to hold your gaze, then looks down with a quiet smile she can't quite hide."
}
]) >>
<</append>>
<<replace "#continue1">>
<hr>
<center>
<<link "Continue">>
<<run setup.addPlayerStat("intelligence", 1)>>
<<run setup.addAffection("eva", 1)>>
<<run setup.finishEvent()>>
<</link>>
</center>
<</replace>>
<</link>>
</center>
</div><div id="sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You catch movement near the entrance. A girl steps into the hub, and the first thing that hits you is her ass—full, round, and bouncing with every step like it's begging to be watched. You force your eyes away, jaw tight, trying not to be obvious about it."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/playerEvent2MandyAss.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She turns toward the room and starts speaking, voice smooth and confident. That's when it clicks. She's not another student."
}
]) >>
<img class="background" src="media/event/player/mandy_playerEvent2.jpg">
<<= setup.renderDialogue([
{
speaker: "mandy",
text: "Good afternoon, everyone. Before we begin, we have a new student joining us today."
},
{
type: "narration",
text: "Her gaze lands on you and stays there a little too long."
},
{
speaker: "mandy",
text: State.variables.player.name + ", why don't you come introduce yourself? Tell us a little about who you are"
},
{
speaker: "player",
text: "Hey, everyone. I'm " + State.variables.player.name + ". I'm here to study, but that's hardly all I do. I play guitar, sing, write, play sports, work out, and I've picked up a bunch of other skills over the years. Give me something interesting enough, and I'll probably figure it out."
},
{
type: "narration",
text: "A few heads turn. Interest flickers across the room."
},
{
type: "narration",
text: "Mandy's eyes drag over you slowly—shoulders, chest, the way your clothes sit on your frame—like she's already decided she likes what she sees."
},
{
speaker: "mandy",
text: "Guitar. Singing. And a body like that… you're basically every girl's wet dream walking in here."
},
{
type: "narration",
text: "She doesn't even try to hide the way she's looking at you. Her smile is slow, almost hungry."
},
{
speaker: "mandy",
text: "I can't speak for the rest of them… but I know you've already impressed me."
},
{
speaker: "player",
text: "I didn't expect the tutor to be this young."
},
{
speaker: "mandy",
text: "Age is just a number when you've got the skills. And I've got plenty."
},
{
type: "narration",
text: "She tilts her head slightly, still watching you."
},
{
speaker: "mandy",
text: "I'm a dancer. An actor. I know exactly how to use what I've got… and how to teach others to do the same. That's why I'm here."
},
{
speaker: "player",
text: "Yeah… I can tell you dance. That ass is—"
},
{
type: "narration",
text: "You stop, clear your throat."
},
{
speaker: "player",
text: "…those thighs are ridiculous."
},
{
type: "narration",
text: "A soft, knowing laugh slips out of her."
},
{
speaker: "mandy",
text: "You can say ass, you know. Nothing wrong with complimenting it."
},
{
type: "narration",
text: "She steps just a little closer, voice dropping."
},
{
speaker: "mandy",
text: "Think of me as a friend. No need to be shy."
},
{
type: "narration",
text: "She winks, slow and deliberate."
},
{
speaker: "player",
text: "Talking about your ass with a friend still doesn't feel normal."
},
{
speaker: "mandy",
text: "Then don't think of me as just a friend."
},
{
type: "narration",
text: "The words hang between you, thick and charged. She lets the silence stretch for a beat before her tone shifts back—still warm, still teasing, but more composed."
},
{
speaker: "mandy",
text: "There are a lot of groups here. Each one focuses on a different skill. You look like the type who could fit in anywhere. Go explore. Join whatever catches your interest… or switch every day if you want. Entirely up to you."
},
{
type: "narration",
text: "She gives you one last lingering look, the kind that feels like a promise more than a goodbye, then turns and walks away—hips swaying just enough to make sure you notice."
}
]) >>
</div>
<div id="continue1">
<hr>
<center>
<<link "Continue">>
<<run setup.addPlayerStat("skills", 1)>>
<<run setup.addAffection("mandy", 1)>>
<<append "#sceneDialogue">>
<<= setup.renderDialogue([
{
type: "narration",
text: "You moved through the Skill Hub, scanning the different groups. Turning a corner too fast, you walked straight into someone."
}
]) >>
<img class="background" src="media/event/player/riley_playerEvent2.jpg">
<<= setup.renderDialogue([
{
speaker: "player",
text: "Shit—sorry. You okay?"
},
{
speaker: "riley",
text: "Y-Yeah… I'm fine."
},
{
type: "narration",
text: "She looked up at you and froze for a second."
},
{
speaker: "riley",
text: "Wait… you're the guitar guy from earlier."
},
{
speaker: "player",
text: "That's me."
},
{
speaker: "riley",
text: "I've been wanting to learn for so long. Could you teach me? Please?"
},
{
speaker: "player",
text: "Yeah. I can do that."
},
{
type: "narration",
text: "Her face lit up immediately. You found yourself watching her a little longer than necessary."
},
{
type: "narration",
text: "The two of you found a quieter corner. The guitar lesson kept getting interrupted by conversation. Riley stayed close the whole time, her knee resting against yours, her fingers brushing your hand whenever you fixed her grip."
},
{
type: "narration",
text: "You didn't move away."
},
{
speaker: "riley",
text: "You're different from most people here."
},
{
speaker: "player",
text: "Different how?"
},
{
speaker: "riley",
text: "I noticed you right away… and I haven't really been able to stop."
},
{
type: "narration",
text: "She said it quietly. You held her gaze for a moment instead of brushing it off."
},
{
speaker: "player",
text: "I noticed you too."
},
{
type: "narration",
text: "Her cheeks turned pink, but she smiled."
},
{
type: "narration",
text: "When the hub started emptying, neither of you stood up right away."
},
{
speaker: "riley",
text: "Are you going to be here again?"
},
{
speaker: "player",
text: "Yeah. Will you?"
},
{
speaker: "riley",
text: "If you are… then yes."
},
{
type: "narration",
text: "She hesitated like she didn't want to leave yet."
},
{
speaker: "riley",
text: "Don't forget about me, okay?"
},
{
speaker: "player",
text: "I won't."
},
{
type: "narration",
text: "She gave you a small smile before walking off, glancing back more than once. You watched her go."
}
]) >>
<</append>>
<<replace "#continue1">>
<hr>
<center>
<<link "Continue">>
<<run setup.addPlayerStat("skills", 1)>>
<<run setup.addAffection("riley", 1)>>
<<run setup.finishEvent()>>
<</link>>
</center>
<</replace>>
<</link>>
</center>
</div><div id="sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You wander through the halls until you spot the college library."
},
{
type: "narration",
text: "Curious, you decide to step inside and take a quick look."
}
]) >>
<img class="background" src="media/event/player/lasirena_playerEvent3.jpg">
<<= setup.renderDialogue([
{
speaker: "lasirena",
text: "Are you lost, babyboy?"
},
{
speaker: "player",
text: "I kinda was... but I think I just found the right place."
},
{
type: "narration",
text: "She smiles, her eyes lingering on you for a moment longer than necessary."
},
{
speaker: "lasirena",
text: "La sirena. And it's not every day I see a guy like you wandering into a library."
},
{
speaker: "player",
text: "First day. Figured I should actually learn where the books are. I'm " + State.variables.player.name + "."
},
{
speaker: "lasirena",
text: "Mmm. Flirting with the librarian on your very first day… I like the confidence."
},
{
speaker: "player",
text: "Would've been a waste not to. You're the most interesting thing in this entire building."
},
{
type: "narration",
text: "Her smile deepened, slow and knowing."
},
{
speaker: "lasirena",
text: "Careful. I might be a little too old for someone like you… but damn if it doesn't feel good hearing that from a man who looks the way you do."
},
{
speaker: "player",
text: "Oh, look who's flirting now."
},
{
type: "narration",
text: "You let your eyes travel over her without hurry."
},
{
speaker: "player",
text: "You don't look a day older than any other girl on this campus. If anything, age only made you more dangerous."
},
{
speaker: "lasirena",
text: "Is that so? You really need to stop showering me with compliments. If I actually fall for you, it's going to be a serious problem… for you."
},
{
speaker: "player",
text: "Can't really blame me. You're so fucking stunning I can't keep my tongue under control."
},
{
type: "narration",
text: "She stepped just a little closer, voice dropping into something silkier."
},
{
speaker: "lasirena",
text: "Then maybe we should put that tongue somewhere more useful… somewhere it being out of control would actually help."
},
{
type: "narration",
text: "A smirk curled at the corner of her mouth."
},
{
speaker: "player",
text: "I like where this is going."
},
{
speaker: "lasirena",
text: "Honestly? So do I."
},
{
speaker: "lasirena",
text: "But I have to go. If you're serious about the books… you should get yourself a library card."
},
{
speaker: "player",
text: "Yeah. I'd like a library card."
},
{
speaker: "lasirena",
text: "Jane. Come help him with a library card… he's the kind of student who'll need a lot of personal attention."
},
{
type: "narration",
text: "Jane steps out from the shelves. The moment her eyes land on you, her steps slow."
},
{
type: "narration",
text: "She doesn't say anything at first — she just looks at you, like something unexpected settled in her chest."
}
]) >>
<img class="background" src="media/event/player/jane_playerEvent3.jpg">
<<= setup.renderDialogue([
{
speaker: "lasirena",
text: "She's one of my biggest bookworms."
},
{
speaker: "jane",
text: "I prefer 'avid reader.'"
},
{
type: "narration",
text: "La Sirena looked at you one last time, lips curved in a slow, filthy little smile that promised far more than library privileges and then she disappeared in the shelves"
}
]) >>
</div>
<div id="continue1">
<hr>
<center>
<<link "Continue">>
<<run setup.addPlayerStat("charisma", 1)>>
<<run setup.addAffection("lasirena", 1)>>
<<append "#sceneDialogue">>
<<= setup.renderDialogue([
{
type: "narration",
text: "For a moment, Jane just looks at you, like she's trying to place a feeling she wasn't prepared for."
},
{
speaker: "jane",
text: "Sorry. I didn't mean to stare."
},
{
speaker: "player",
text: "It's alright."
},
{
speaker: "jane",
text: "I can get your library card ready."
},
{
speaker: "player",
text: "Appreciate it."
},
{
speaker: "jane",
text: "You're not what I expected."
},
{
speaker: "player",
text: "What did you expect?"
},
{
speaker: "jane",
text: "I'm not sure. Just… not you."
},
{
speaker: "jane",
text: "You look like someone I would've imagined while reading."
},
{
type: "narration",
text: "She realizes what she said and lets out a small, embarrassed breath."
},
{
speaker: "jane",
text: "That sounded better in my head."
},
{
speaker: "player",
text: "I don't mind."
},
{
speaker: "jane",
text: "You make it hard to stay normal."
},
{
speaker: "player",
text: "I haven't done anything yet."
},
{
speaker: "jane",
text: "That's the problem."
},
{
speaker: "jane",
text: "Can you hold these while I fill this out?"
},
{
type: "narration",
text: "She places a few pages in your hands. Her fingers brush yours as she lets go."
},
{
speaker: "player",
text: "Of course."
},
{
type: "narration",
text: "Jane turns to the form. You look down at the pages and notice the top one is a poem. Without thinking, you start reading."
},
{
type: "narration",
text: "You're nearly at the end of the first page when she notices."
},
{
speaker: "jane",
text: "Wait—"
},
{
type: "narration",
text: "She takes the pages from you quickly, holding them against her chest. Her face is warm, but there's no anger."
},
{
speaker: "jane",
text: "You weren't supposed to read that."
},
{
speaker: "player",
text: "Sorry. I didn't realize it was private."
},
{
speaker: "jane",
text: "It's okay… it's not finished anyway."
},
{
speaker: "player",
text: "Even unfinished, the wording is beautiful. The imagery is strong, and the structure is surprisingly polished."
},
{
speaker: "jane",
text: "But?"
},
{
speaker: "player",
text: "But something's missing. It feels like you're describing an emotion carefully… without fully feeling it yet."
},
{
type: "narration",
text: "Jane goes still."
},
{
speaker: "jane",
text: "That's… exactly it."
},
{
speaker: "player",
text: "You'll finish it when it becomes something you've lived, not just something you understand."
},
{
speaker: "jane",
text: "You shouldn't be able to see that so clearly."
},
{
speaker: "player",
text: "Maybe most people just don't look long enough."
},
{
type: "narration",
text: "She finishes the library card and hands it to you. Her fingers rest against yours for a moment before she pulls away."
},
{
speaker: "jane",
text: "I think meeting you is going to make finishing that poem very difficult."
}
]) >>
<</append>>
<<replace "#continue1">>
<hr>
<center>
<<link "Continue">>
<<run setup.addPlayerStat("charisma", 1)>>
<<run setup.addAffection("jane", 1)>>
<<run setup.finishEvent()>>
<</link>>
</center>
<</replace>>
<</link>>
</center>
</div><div id="sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You've spent enough time sitting around for one day. A little exercise wouldn't hurt, so you make your way to the playground."
}
]) >>
<img class="background" src="media/background/playground_bg.jpg">
<<= setup.renderDialogue([
{
type: "narration",
text: "A basketball suddenly rolls across the pavement and comes to a stop at your feet."
},
{
type: "narration",
text: "You pick it up, and a sweet voice calls out from behind you."
},
{
speaker: "abella",
text: "Mind giving me my ball back, hotshot?"
},
{
type: "narration",
text: "You turn and find yourself looking at a girl with an easy smile and a look that lingers just a little longer than necessary."
},
{
type: "narration",
text: "You throw the ball back. She catches it without breaking eye contact."
}
]) >>
<img class="background" src="media/event/player/abella_playerEvent4.jpg">
<<= setup.renderDialogue([
{
speaker: "abella",
text: "Nice throw. And definitely not bad to look at, either."
},
{
speaker: "abella",
text: "You're new, aren't you? I'd remember seeing someone like you around here."
},
{
speaker: "player",
text: "Guilty. I'm " + State.variables.player.name + ". I'm new around here."
},
{
speaker: "abella",
text: "Ooooh. That explains why I haven't seen you before. I'm Abella. Nice to meet you, " + State.variables.player.name + "."
},
{
speaker: "player",
text: "Nice to meet you too. Though I'm starting to think I got pretty lucky on my first day."
},
{
type: "narration",
text: "Abella raises an eyebrow, clearly catching the meaning behind your words."
},
{
speaker: "abella",
text: "Careful, handsome. You just got here."
},
{
speaker: "abella",
text: "The college is closing, though. Mind if I walk with you?"
},
{
speaker: "player",
text: "I'd be stupid to say no to that."
},
{
type: "narration",
text: "She smiles to herself as the two of you start walking, the conversation coming surprisingly easily."
},
{
type: "narration",
text: "Every now and then, you catch her glancing your way. And every time you catch her, she pretends she wasn't looking. Eventually, you reach the entrance to her hostel."
},
{
speaker: "abella",
text: "Well... this is my stop. You're not allowed any further, unfortunately."
},
{
speaker: "player",
text: "Funny. They actually assigned me a room here."
},
{
speaker: "abella",
text: "Wait. Seriously?"
},
{
type: "narration",
text: "Her eyes widen before a mischievous smile slowly takes over."
},
{
speaker: "abella",
text: "Well, then... you'd better lock your door properly. Wouldn't want you coming out of the shower one morning and finding an unexpected guest in your bed."
},
{
speaker: "player",
text: "I wouldn't complain."
},
{
speaker: "abella",
text: "Oh? About having company?"
},
{
speaker: "player",
text: "About you being the company."
},
{
type: "narration",
text: "For a moment, Abella simply looks at you. Then she bites back a smile, cheeks warming slightly."
},
{
type: "narration",
text: "She takes a few steps toward her room, then glances back at you one last time."
}
]) >>
</div>
<div id="continue1">
<hr>
<center>
<<link "Continue">>
<<run setup.addPlayerStat("fitness", 1)>>
<<run setup.addAffection("abella", 1)>>
<<run setup.finishEvent()>>
<</link>>
</center>
</div><<= setup.renderDialogue([
{
type: "narration",
text: "You're sitting in your room, taking a moment to yourself, when your phone suddenly rings."
},
])>>
<img class="background" src="media/event/player/playerEvent5Call.jpg">
<<= setup.renderDialogue([
{
type: "narration",
text: "You glance at the screen and smile when you see who's calling."
},
{
speaker: "grandma",
text: "There you are! I was starting to think you'd forgotten about your old grandmother."
},
{
speaker: "player",
text: "I'd never forget you."
},
{
speaker: "grandma",
text: "Hmm. You've been awfully quiet lately."
},
{
speaker: "player",
text: "I've been busy. College has been keeping me occupied."
},
{
speaker: "grandma",
text: "Oh? My little bookworm finally found something more interesting than his books?"
},
{
speaker: "player",
text: "Apparently."
},
{
speaker: "grandma",
text: "Good. I've been telling you for years to get out there and actually live a little."
},
{
speaker: "player",
text: "I know, I know."
},
{
speaker: "grandma",
text: "So? How is it?"
},
{
speaker: "player",
text: "Honestly? Pretty great. I've met some good people, tried things I never would've tried back home... even started working out again."
},
{
speaker: "grandma",
text: "Look at you. I'm actually proud of you."
},
{
speaker: "player",
text: "You sound surprised."
},
{
speaker: "grandma",
text: "I'm surprised you actually listened to me."
},
{
speaker: "player",
text: "Don't get too excited."
},
{
speaker: "grandma",
text: "And from what I saw the other day, it looks like you're making some very pretty friends too."
},
{
speaker: "player",
text: "Grandmaaaaa..."
},
{
speaker: "grandma",
text: "What? I liked her."
},
{
speaker: "player",
text: "You're impossible."
},
{
speaker: "grandma",
text: "Maybe. But I'm glad you're having a good time."
},
{
speaker: "player",
text: "Yeah. I really am."
},
{
speaker: "grandma",
text: "That's all I wanted. Just remember to call your old grandmother once in a while, alright?"
},
{
speaker: "player",
text: "I will. Love you."
},
{
speaker: "grandma",
text: "Love you too, sweetheart. Now go enjoy your college life."
},
{
speaker: "player",
text: "Goodnight, Grandma."
},
{
speaker: "grandma",
text: "Goodnight, kiddo."
}
]) >>
<hr>
<center>
<<link "Continue">>
<<run setup.finishEvent()>>
<</link>>
</center><div id = "sceneDialogue">
<img class="background" src="media/event/player/playerEvent6Jessa_bg.jpg">
<<= setup.renderDialogue([
{
type: "narration",
text: "You stepped into the restaurant and saw Jessa on the other side of the counter, lazily chewing gum and looking fucking lethal in that tiny outfit."
},
{
speaker: "jessa",
text: "You're back again… place is closed."
},
{
speaker: "player",
text: "Sign outside still says open."
},
{
speaker: "jessa",
text: "A lot of shit's been running through my head. Must've forgotten to flip it."
},
{
speaker: "player",
text: "You alright? Last time I saw you, you looked completely lost."
},
{
speaker: "jessa",
text: "I just broke up."
},
{
speaker: "player",
text: "How the fuck does anyone walk away from a girl who looks like you?"
},
{
speaker: "jessa",
text: "I got tired of this place. Upskilled, landed a way better job in another city. I told him right here, thinking he'd be proud of me… instead he lost his shit. Didn't want me going anywhere, accused me of planning to fuck other guys the second I left. Like, what the fuck is wrong with you guys? You're all the fucking same."
},
{
speaker: "player",
text: "Not every man."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/playerEvent6Gum1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "Jessa stared at you for a long second, then leaned over the counter, pulled the gum from her mouth, and pushed it between your lips with her tongue."
},
{
speaker: "jessa",
text: "They all say that at the beginning. Anyway… you came for a bite? That's all I've got left to offer. Today's my last day. You're my last customer. Tomorrow I'm gone — new city, new life, leaving every shitty guy behind."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/playerEvent6Convo1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "player",
text: "You know what I'd do if I was your man? I'd walk straight to that door, flip the sign to closed, rip that tiny outfit off your body, and fuck you right here on this counter until you forgot every other cock existed."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/playerEvent6Pull1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "Jessa just stood there, expression completely blank, eyes locked on yours. Then she walked to the door, locked it, flipped the sign, and came back."
},
{
speaker: "jessa",
text: "Then get to it."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/playerEvent6Kiss1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She kissed you like she was starving — deep, wet, filthy. You grabbed two handfuls of her big soft ass and squeezed hard while your tongues fought."
},
{
type: "narration",
text: "You spun her around, yanked her little shirt up, and freed her heavy tits, filling your hands with them, thumbs dragging over her nipples."
},
{
type: "narration",
text: "Jessa dropped to her knees, ripped your zipper open, and pulled your cock out. Her eyes went wide the second it sprang free."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/playerEvent6Blowjob1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "jessa",
text: "Holy fuck… this thing is massive. Thicker than my wrist. I've never even seen a cock this big. I need it in my throat right now."
},
{
type: "narration",
text: "She wrapped her lips around the head and started sucking hard, taking as much as she could. You grabbed the back of her head and started fucking her throat deep and rough."
},
{
speaker: "player",
text: "That's it, take that thick cock down your throat like a good little whore."
},
{
type: "narration",
text: "After a few long thrusts you let go. Jessa pulled off, spit dripping down her chin, gasping."
},
{
speaker: "jessa",
text: "Fuck… that was so deep. My throat's already ruined and I love it."
},
{
type: "narration",
text: "She went straight back to sucking, messy and desperate. After a while she stood up and kissed you again, transferring the taste of your cock into your mouth."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/playerEvent6PussyLicking1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You bent her over the counter, dropped to your knees, and started licking her dripping pussy from behind. She was soaked."
},
{
speaker: "jessa",
text: "Ahh… fuck yes… eat that wet pussy… it feels so fucking good…"
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/playerEvent6StandingDoggy2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You stood up, lined your cock up, and shoved it into her in one hard thrust. Jessa cried out the second you bottomed out."
},
{
speaker: "jessa",
text: "Oh my god— it's so fucking big… give it to me. Fuck me like the dirty little whore I am."
},
{
speaker: "player",
text: "You want this thick cock to destroy this tight pussy? Then take every inch."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/playerEvent6StandingMissionary2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You turned her around, made her sit on the edge of a chair, threw both her legs over one of your shoulders and slammed back in. You spanked her ass hard while you fucked her."
},
{
speaker: "jessa",
text: "Ahh—yes! Spank me… fuck me deeper… I can feel you stretching me open—"
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/playerEvent6Cowgirl2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She pushed you back, forced you into the chair, climbed on top and sank down onto your cock, riding you hard and fast."
},
{
speaker: "jessa",
text: "Look at me bouncing on this massive cock… it feels so fucking deep like this—"
},
{
speaker: "player",
text: "Ride it harder, slut. I want to feel that pussy milking me."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/playerEvent6Doggy2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You stood, bent her over the chair on her knees, slammed her head down onto the counter and started pounding her from behind without mercy."
},
{
speaker: "player",
text: "Take it. Take every thick inch while I use this pussy."
},
{
speaker: "jessa",
text: "Ahh—fuck—yes—use me—don't stop—"
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/playerEvent6Missionary4.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You pulled out, flipped her so she was facing you, and drove back in so you could watch her tits bounce with every thrust."
},
{
speaker: "jessa",
text: "I'm gonna cum… don't you dare stop… keep fucking me right there—fuck me through it—"
},
{
speaker: "player",
text: "Cum on this cock, you filthy slut. I want to feel it."
},
{
type: "narration",
text: "Jessa came hard, body shaking, almost collapsing. You held her steady and kept fucking her even faster and deeper through the entire orgasm."
},
{
speaker: "player",
text: "It's not over yet, whore. I'm still using this pussy."
},
{
type: "narration",
text: "She slowly came back to her senses, still moaning and twitching around your cock."
},
{
speaker: "jessa",
text: "I want your cum… all over my face. Cover me. Please."
},
{
speaker: "player",
text: "Get on your knees then. I'm going to paint that pretty face."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/playerEvent6Cum1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "Jessa dropped to her knees. You stroked your cock right in front of her open mouth and came hard, thick ropes covering her cheeks, lips, tongue and chin."
},
{
type: "narration",
text: "She didn't waste a drop — licked your cock clean, swallowed everything that landed in her mouth, and kept sucking until you were completely empty."
},
{
speaker: "jessa",
text: "Fuck… I wish I met you earlier. I'm actually going to regret leaving this city after what you just did to me."
},
{
type: "narration",
text: "The two of you got dressed in silence. Jessa still had your cum drying on her face when she unlocked the door and let you out into the night."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Leave restaurant">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You were relaxing in your room in the evening when your phone rang. It was Grandma."
},
]) >>
<img class="background" src="media/event/player/PlayerEvent5Call.jpg">
<<= setup.renderDialogue([
{
speaker: "grandma",
text: "Sweetheart… are you alright?"
},
{
speaker: "player",
text: "Grandma? Yeah, I'm fine. Why do you sound so worried?"
},
{
speaker: "grandma",
text: "I just got a call from the university president, Mr. Hogan. Your phone wasn't reachable, so he called me. He said he needs you to come to his office with a girl named Mia… the receptionist. He told me they caught you two making love right there in the reception."
},
{
speaker: "player",
text: "No, Grandma, I didn't— I just lic—"
},
{
type: "narration",
text: "You stopped yourself mid-sentence."
},
{
speaker: "grandma",
text: "I trust you, son. I told him my grandson would never do something like that. Maybe there was a misunderstanding… or maybe that girl did something."
},
{
speaker: "player",
text: "Mia's a good person, Grandma. She's been through a lot. She's not the type to cause trouble."
},
{
speaker: "grandma",
text: "If you're saying such kind things about her, then she must really be a good girl. Alright… I'm leaving right now. I'll come to the college myself. Don't worry, I'm on your side."
},
{
speaker: "player",
text: "No, Grandma, please don't. You don't have to come all the way here. I'll handle everything. It'll be sorted out, I promise."
},
{
speaker: "grandma",
text: "Okay, sweetheart… if you say so. But go to the reception right now, take Mia with you, and go to Mr. Hogan's office. He wants both of you there immediately. And call me if you need anything at all, do you hear me?"
},
{
speaker: "player",
text: "I will, Grandma. I love you."
},
{
type: "narration",
text: "You ended the call, quickly changed into a proper suit, and headed straight to the hostel reception. You found Mia and the two of you went directly to Mr. Hogan's office building."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Go to reception">>
<<append "#sceneDialogue">>
<<= setup.renderDialogue([
{
type: "narration",
text: "The outer reception area was empty except for a very attractive woman sitting behind the desk."
},
]) >>
<img class="background" src="media/event/player/PlayerEvent7Anna_bg.jpg">
<<= setup.renderDialogue([
{
speaker: "anna",
text: "Are you Mia and " + State.variables.player.name + "?"
},
{
speaker: "player",
text: "Yes, we are."
},
{
speaker: "anna",
text: "Alright. I'm Anna, by the way. Mr. Hogan would like to see Mia first. You can wait here on the sofa until they're finished."
},
{
type: "narration",
text: "She pointed to the sofa across from the desk, then led Mia deeper into the building toward Mr. Hogan's office. Mia never came back out."
},
{
type: "narration",
text: "You sat there for a long time, too stressed to even look at your phone. Eventually you got up and went looking for the men's washroom."
},
{
type: "narration",
text: "You finished and were walking toward the sinks when you noticed Anna already standing there, calmly applying lipstick in the mirror."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/playerEvent7Restroom1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "player",
text: "What are you doing in the men's washroom?"
},
{
speaker: "anna",
text: "I saw everything you did to Mia that morning at the hostel reception, baby. The way you made that poor girl cum over and over… she must have felt incredible. You made her cum like twelve times."
},
{
speaker: "anna",
text: "I only need one."
},
{
speaker: "player",
text: "I thought only Mr. Hogan had access to those cameras. Did he show the footage to everyone?"
},
{
speaker: "anna",
text: "No. Only he has access. He went out for the inspection, so I snuck into his office. I just wanted to sit in that big comfortable chair… it makes me feel powerful, like I own the whole place. That's when I saw the live feed still running on his computer."
},
{
speaker: "anna",
text: "It was so fucking hot watching you use her like that. I touched myself the entire time and came every single time she did. Those were the best orgasms of my life… and now I can't wait for you to do the same thing to me right here."
},
{
speaker: "player",
text: "Good to know. But I'm already in deep shit because of the receptionist. She's about to lose her job because of me, and I might get suspended from college. I don't need more trouble with another receptionist."
},
{
type: "narration",
text: "You turned toward the door."
},
{
speaker: "anna",
text: "Stop. What if I make sure she doesn't lose her job… and you don't get suspended either?"
},
{
speaker: "anna",
text: "I can get rid of the video evidence. Mr. Hogan already has a soft spot for you — he treats you like his own son — and he likes Mia because of how well she's handled everything after that terrible marriage. He's not that strict. If I talk to him the right way, he'll act like he never even remembered catching the two of you fucking in the reception. All you have to do… is fuck me until I cum like crazy."
},
{
type: "narration",
text: "You turned around, walked up behind her, and pressed your body against her back. You kissed her neck while both hands filled with her soft tits over her shirt."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/playerEvent7Boobs1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "player",
text: "Is this what you want, slut? Tell me how bad you need it."
},
{
type: "narration",
text: "You ripped her shirt open. Buttons flew across the counter and bounced off the mirror. Her big tits spilled free."
},
{
speaker: "anna",
text: "Yes, baby… I need it so fucking bad… I've been dripping since I watched you this morning…"
},
{
type: "narration",
text: "You lifted her skirt from behind, revealing her thick juicy ass, and gave it a hard spank. Then you slid your hand between her legs and rubbed her pussy over her panties while spanking her again."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/playerEvent7Finger1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "anna",
text: "Ahh—"
},
{
type: "narration",
text: "You kept rubbing her through the fabric while your other hand landed another sharp spank on her ass."
},
{
speaker: "anna",
text: "Mmm—fuck—"
},
{
speaker: "player",
text: "Look at you… such a bad little whore. Watching me make another girl lose her mind and then sitting in your boss's chair masturbating like a desperate slut."
},
{
speaker: "anna",
text: "I have been bad, baby… and I love what you're doing to me… the rubbing… the spanking… don't stop…"
},
{
type: "narration",
text: "You shrugged off your suit jacket, kept your shirt on, pulled your cock out through your pants, and shoved it straight into her tight ass in one hard thrust."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/playerEvent7Anal1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "anna",
text: "AHH—fuck—!"
},
{
speaker: "anna",
text: "I didn't think you'd put it in my ass… it's so fucking big… so deep…"
},
{
type: "narration",
text: "You started fucking her ass hard and deep, gripping her hips."
},
{
speaker: "player",
text: "You begged me to fuck you until you went crazy… and now you're already moaning like you want me to pull out?"
},
{
speaker: "anna",
text: "No—don't stop… keep fucking my ass just like that… it feels too good, baby…"
},
{
type: "narration",
text: "You kept pounding her. Anna's moans grew louder and more desperate."
},
{
speaker: "anna",
text: "I'm gonna cum… don't stop… please don't stop—"
},
{
type: "narration",
text: "She came hard around your cock, body shaking, and collapsed forward onto the sink counter."
},
{
type: "narration",
text: "You leaned over her, still buried in her ass."
},
{
speaker: "player",
text: "It's not over until I cum, slut. Take that shirt off, get on your knees, and suck this cock."
},
{
type: "narration",
text: "Anna stripped the rest of her clothes off with shaky hands and dropped to her knees. The second she saw your cock up close her eyes went wide. She started stroking it hard."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/playerEvent7Handjob1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "anna",
text: "It's so fucking huge… I can't believe I just took this entire thing in my ass…"
},
{
type: "narration",
text: "She tried to take it into her mouth but could only fit the head. She pulled off and kept stroking."
},
{
speaker: "anna",
text: "Just the head fills my whole mouth… I can't go any deeper…"
},
{
speaker: "player",
text: "Yes you can, you filthy bitch. You just need to do it properly."
},
{
type: "narration",
text: "You grabbed a fistful of her hair and forced her head down. Your cock slid deep into her throat. You felt her throat squeeze tight around you. You pulled all the way out so she could breathe, then shoved it back in to the hilt in one stroke. You repeated it several times, completely controlling her head."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/playerEvent7Blowjob1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "player",
text: "See? That wasn't so hard for a cock-hungry slut like you."
},
{
type: "narration",
text: "You let go of her hair. Anna kept going on her own, taking your entire length down her throat over and over for a few minutes before finally pulling off with a loud gasp."
},
{
type: "narration",
text: "She stood up and kissed you deep and messy."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/playerEvent7Kiss1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "anna",
text: "I love how you dominate me, baby… it's making me so fucking wet again…"
},
{
speaker: "player",
text: "Of course it is. You're just a desperate little whore who gets off on being used."
},
{
type: "narration",
text: "You lifted her onto the counter, her back against the mirror, and pushed your cock into her dripping pussy in one thrust."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/playerEvent7Fuck1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "anna",
text: "AHH—yes… I love how you use every one of my holes…"
},
{
speaker: "player",
text: "Then take it. This tight little cunt is mine right now."
},
{
type: "narration",
text: "You fucked her hard against the mirror. After a while her voice turned desperate again."
},
{
speaker: "anna",
text: "I'm gonna cum again… fuck—"
},
{
type: "narration",
text: "She came hard around your cock, body going completely limp against the mirror."
},
{
speaker: "player",
text: "I told you it's not over until I cum."
},
{
type: "narration",
text: "You pulled out of her pussy and shoved your cock straight back into her ass. Anna let out a long, broken moan."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/player/playerEvent7Anal2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "anna",
text: "I've never been fucked like this… your cock is destroying me… and I love it so much… if you keep going I'm gonna cum again—"
},
{
speaker: "player",
text: "Don't you dare cum until I'm ready, bitch."
},
{
speaker: "anna",
text: "Please, daddy… can I cum? Please let me cum…"
},
{
speaker: "player",
text: "No."
},
{
type: "narration",
text: "You kept fucking her ass hard and deep while she moaned helplessly. After a while you felt yourself getting close."
},
{
speaker: "player",
text: "I'm getting close, slut. Cum with me. Now."
},
{
type: "narration",
text: "You groaned and emptied yourself deep inside her ass. At the same time you felt her walls clench hard around you as she came again."
},
{
speaker: "anna",
text: "I can feel your cum… so deep in my ass… fuck…"
},
{
type: "narration",
text: "You pulled out, tucked your cock back into your pants, put your suit jacket on, and left the washroom while Anna was still collapsed on the counter, completely spent."
},
]) >>
<</append>>
<<replace "#continue1">>
<div id = "continue2">
<hr>
<center>
<<link "Go to the reception">>
<<append "#sceneDialogue">>
<<= setup.renderDialogue([
{
type: "narration",
text: "When you reached the outer reception, Mr. Hogan was already waiting. Surprisingly, he looked calm."
},
{
speaker: "hogan",
text: "Where the hell have you been, son?"
},
{
speaker: "player",
text: "I was in the washroom, sir. I'm sorry."
},
{
speaker: "hogan",
text: "For almost an hour?"
},
{
speaker: "player",
text: "I apologize, sir. I—"
},
{
speaker: "hogan",
text: "And where is Anna?"
},
{
speaker: "player",
text: "I don't know, sir."
},
{
speaker: "hogan",
text: "Come to my office. We need to talk."
},
{
type: "narration",
text: "You followed Mr. Hogan into his office. He gestured for you to sit."
},
{
speaker: "hogan",
text: "Look, son. I know everything you've been doing. All the good work around the college… and the fact that you've been going into other girls' rooms even after being told not to. I don't really mind that part. I was a student once too. I did my share of things. That's normal. You don't need to worry about it."
},
{
speaker: "hogan",
text: "But having sex with Mia right there in the open reception… that was too much. If anyone else had walked in instead of me, it would have been a complete disaster."
},
{
speaker: "player",
text: "You're right, sir. I'm sorry about everything. It won't happen again with Mia… and I won't go into any of the girls' rooms either."
},
{
type: "narration",
text: "Mr. Hogan gave a small, amused laugh."
},
{
speaker: "hogan",
text: "I didn't say you can't go into their rooms. I understand how these things are. Just be careful around campus, that's all."
},
{
speaker: "player",
text: "I will, sir. What about Mia? Is she going to lose her job?"
},
{
type: "narration",
text: "Mr. Hogan chuckled again."
},
{
speaker: "hogan",
text: "No. You've already met Anna, my receptionist. She's getting a promotion soon, moving to a different position under me. When that happens, I plan to move Mia into Anna's current role. There's still some time before the promotion is official, but I called Mia in today to let her know it's coming."
},
{
type: "narration",
text: "You let out a quiet breath of relief."
},
{
type: "think",
text: "That bitch completely played me… but I can't even be mad. It was a win-win and the sex was fucking incredible."
},
{
speaker: "player",
text: "I honestly thought you were going to fire Mia and have me removed from the college."
},
{
type: "narration",
text: "Mr. Hogan laughed softly."
},
{
speaker: "hogan",
text: "Oh no. If it had been almost anyone else, that might have happened. But I see real potential in you, son. You're going to do something big one day."
},
{
speaker: "hogan",
text: "I've also arranged a private room for Mia in the hostel. Whenever the two of you feel the need… just go there and do whatever you want. Just try to keep her voice down."
},
{
type: "narration",
text: "You stared at him, genuinely stunned."
},
{
speaker: "player",
text: "You're the coolest university president I've ever met, sir."
},
{
type: "narration",
text: "Mr. Hogan gave another warm laugh."
},
{
speaker: "hogan",
text: "Go on, son. Head back to the hostel."
},
{
type: "narration",
text: "You left his office and looked around for Anna, but she was nowhere to be found. After a moment you simply turned and walked back toward the hostel."
}
]) >>
<</append>>
<<replace "#continue2">>
<hr>
<center>
<<link "Go to the hostel">>
<<run setup.finishEvent()>>
<</link>>
</center>
<</replace>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
</div><img class="background" src="media/background/patreon_cover.png">
<<=
setup.renderDialogue([
{
speaker: "admenz",
text: "Well… looks like that's where this part of the story ends."
},
{
speaker: "admenz",
text: "This version is only one step in a much bigger journey. There's plenty more to come — more characters, more stories, more places to explore, and a lot more trouble waiting around the corner."
},
{
speaker: "admenz",
text: "I'll keep working on the game and adding new content with every update."
},
{
speaker: "admenz",
text: "If you enjoyed what you've played so far and want to follow the development, support the project, or get access to new updates before everyone else, you can find FRESHMAN YEAR on Patreon."
},
{
speaker: "admenz",
text: "For now, though… <b>Thanks for playing.</b>"
},
{
speaker: "admenz",
text: "I'll see you in the next update."
}
])
>>
<hr>
<center>
<<link "Continue">>
<<run setup.finishEvent()>>
<</link>>
</center><div id="sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You walk into the SkillHub with a clear goal today. You're not just here to practice. You're here to play, and you're going to make sure everyone notices."
},
{
type: "narration",
text: "You head to the usual spot where Riley and the rest of the group are already hanging out. You pick up the guitar, sit down, and start playing."
}
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/activity/practiceSkills_vid5.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "At first it's just background noise. Then heads start turning. A couple of girls from another group stop what they're doing. Within a few minutes, a small crowd has gathered."
},
{
type: "narration",
text: "You finish the piece. The room reacts immediately — claps, whistles, a few loud cheers."
},
{
speaker: "riley",
text: "OH MY GOD!"
},
{
type: "narration",
text: "Riley is the loudest by far. She jumps up, clapping hard, then comes straight to your side."
},
{
speaker: "riley",
text: "That was so good! I swear you get better every single time."
},
{
type: "narration",
text: "A few girls from the crowd come closer instead of leaving."
},
{
type: "narration",
text: "One of them lightly touches your arm as she speaks."
},
{
speaker: "abella",
text: "Seriously, that was amazing. You should play here more often."
},
{
type: "narration",
text: "Another girl smiles and stays a little too close."
},
{
speaker: "jane",
text: "I didn't know you were that good. You have to teach me sometime."
},
{
type: "narration",
text: "Riley watches the interaction, then shifts even closer to you, almost like she's claiming the space."
},
{
speaker: "riley",
text: "Okay, that was actually incredible. How do you even do that?"
},
{
speaker: "player",
text: "Practice."
},
{
speaker: "riley",
text: "Yeah, well, apparently I need about ten years of it."
},
{
type: "narration",
text: "She laughs and nudges your shoulder, staying pressed against your side."
}
]) >>
</div>
<div id="continue1">
<hr>
<center>
<<link "Continue">>
<<append "#sceneDialogue">>
<<= setup.renderDialogue([
{
speaker: "riley",
text: "Come on. Teach me."
}
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/activity/practiceWith_vid2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You hand her the guitar. She adjusts it awkwardly and tries the chord you show her. It comes out horribly."
},
{
speaker: "riley",
text: "Oh."
},
{
type: "narration",
text: "She tries again. Worse."
},
{
speaker: "riley",
text: "God… I'm so bad at this."
},
{
type: "narration",
text: "She stares at the guitar for a second, then lets out a small, frustrated breath."
},
{
speaker: "riley",
text: "I'm bad at everything."
},
{
speaker: "player",
text: "That's not true."
},
{
speaker: "riley",
text: "It is. Coding — sucked. Painting — sucked. Photography — sucked. I've tried so many things, and every time I think maybe this is finally the one… I'm terrible at it."
},
{
type: "narration",
text: "Her voice gets quieter."
},
{
speaker: "riley",
text: "I just want to have something."
},
{
speaker: "player",
text: "Something you're good at?"
},
{
speaker: "riley",
text: "Yeah. You can play guitar. You can do basically everything. And then there's me."
},
{
speaker: "player",
text: "Riley, I don't think you've figured out what you're actually good at yet."
}
]) >>
<</append>>
<<replace "#continue1">>
<div id="continue2">
<hr>
<center>
<<link "Continue">>
<<append "#sceneDialogue">>
<<= setup.renderDialogue([
{
speaker: "riley",
text: "What?"
},
{
speaker: "player",
text: "Think about what you were doing five minutes ago. You were the loudest person in the entire room."
},
{
speaker: "riley",
text: "I was excited!"
},
{
speaker: "player",
text: "I know. But that's you. You walk into a room and you bring energy with you. You're confident around people, naturally expressive, and you don't hesitate to show support."
},
{
speaker: "player",
text: "When someone's doing something, you're the one standing there telling them to keep going. Honestly, I think you'd be really good at something like cheerleading… or even commentating."
},
{
speaker: "riley",
text: "Cheerleading and commentating?"
},
{
speaker: "player",
text: "Yeah. You're energetic, expressive, and you actually like encouraging people. I can see you on the sidelines getting the whole crowd behind a team… or with a mic in your hand, talking through a performance, interviewing people after, keeping everyone engaged."
},
{
type: "narration",
text: "Riley's eyes widen a little. A small smile starts forming."
},
{
speaker: "riley",
text: "You really think that's something I could do?"
},
{
speaker: "player",
text: "I do."
},
{
speaker: "riley",
text: "I… actually like that. I like being the person who's there for everyone."
},
{
speaker: "player",
text: "Exactly."
},
{
type: "narration",
text: "She looks at you, a little more confident now, and shifts even closer."
},
{
speaker: "riley",
text: "And if you're playing… I could be the one cheering for you."
},
{
speaker: "player",
text: "I could definitely get used to that."
},
{
speaker: "riley",
text: "I'd be really good at it."
},
{
speaker: "player",
text: "I know you would. And honestly, I think that same energy is what you've been missing."
},
{
speaker: "riley",
text: "What do you mean?"
},
{
speaker: "player",
text: "Maybe you're not supposed to be sitting somewhere by yourself trying to force a skill. You're at your best when there are people around, when something's happening and you can be part of it."
},
{
speaker: "riley",
text: "Yeah… that actually feels right."
}
]) >>
<</append>>
<<replace "#continue2">>
<div id="continue3">
<hr>
<center>
<<link "Continue">>
<<append "#sceneDialogue">>
<<= setup.renderDialogue([
{
type: "narration",
text: "She looks down at the guitar again, then back up at you. Her voice softens."
},
{
speaker: "riley",
text: "But I still want to learn this."
},
{
speaker: "player",
text: "Yeah?"
},
{
speaker: "riley",
text: "Yeah. You're really good at it… and I like being around you when you play. If I learn, I get to stay close. And maybe… you'll actually notice me for it."
},
{
type: "narration",
text: "She glances at you, a little shy, but doesn't look away."
},
{
speaker: "riley",
text: "I want you to be impressed with me too."
}
]) >>
<img class="background" src="media/event/riley/rileyGuitar.jpg">
<<= setup.renderDialogue([
{
type: "narration",
text: "She tries the chord again. It's still terrible. She grimaces, then lets out a small laugh and tries once more, staying right against your side."
}
]) >>
<</append>>
<<replace "#continue3">>
<div id="continue4">
<hr>
<center>
<<link "Continue">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "Late afternoon. The campus is almost completely empty when you cut across the playground."
},
]) >>
<img class="background" src="media/event/riley/rileyEvent2Waiting.png">
<<= setup.renderDialogue([
{
type: "narration",
text: "Riley is standing on the running track in a brand-new cheerleader uniform, pom-poms hanging from both hands. The skirt is stupidly short and the top is stretched tight across her chest."
},
{
speaker: "player",
text: "Holy fuck… you look insane in that. Congrats. Knew you'd crush it."
},
{
speaker: "riley",
text: "I haven't gone in yet. Tryouts got moved. That's why I'm still standing here looking like this."
},
{
type: "narration",
text: "She's smiling, but her fingers keep tightening around the pom-poms."
},
{
speaker: "player",
text: "You're gonna be the best one in there. Don't let the nerves talk you out of it."
},
{
speaker: "riley",
text: "I just… don't want to be alone afterward. Can you wait for me? Whether I make it or completely fuck it up, I want someone there."
},
{
speaker: "player",
text: "I'll be here when you're done."
},
{
type: "narration",
text: "Something in her shoulders finally loosens."
},
{
speaker: "riley",
text: "Okay. I'm going in."
},
{
type: "narration",
text: "You go for a run while she disappears into the tryouts. By the time you finish, your shirt is stuck to your back. You head straight into the locker room to cool down and change."
},
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Change your clothes">>
<<append "#sceneDialogue">>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/riley/rileyEvent2Change.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You peel the wet shirt off first, then the pants, then everything else. For a few seconds you're completely naked, skin still hot from the run, before you finally wrap the towel around your waist."
},
{
type: "narration",
text: "The second the towel is secure, Riley steps out from behind the lockers."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/riley/rileyEvent2Kiss1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She doesn't say a word. She just walks straight up to you, and kisses you like she's been holding it in for days. It's messy, hungry, full of pure adrenaline."
},
{
type: "narration",
text: "When she finally pulls back she's breathing hard, lips already red."
},
{
speaker: "riley",
text: "I got in."
},
{
speaker: "player",
text: "Fuck yes."
},
{
speaker: "riley",
text: "I don't think I would've walked in there without you. You made me feel like I actually belonged."
},
{
type: "narration",
text: "She kisses you again, deeper this time."
},
{
type: "narration",
text: "Your hands slide under the cheer top and push it straight up, freeing her tits."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/riley/rileyEvent2Kiss2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You drop your mouth to one nipple and suck hard, tongue dragging slow, wet circles."
},
{
speaker: "riley",
text: "Ahh—fuck…"
},
{
type: "narration",
text: "You're still licking her when a voice suddenly cuts through from outside the locker room."
},
{
speaker: "janitor",
text: "Anyone in there? I need to get this place cleaned up."
},
{
type: "narration",
text: "You both freeze. Riley's eyes go wide, then she bites down hard on a laugh."
},
{
type: "narration",
text: "You wait. A full minute of silence passes before you finally check the doorway. Empty."
},
{
type: "narration",
text: "She yanks her top back down, still grinning, cheeks flushed."
},
{
type: "narration",
text: "The two of you slip out together, still breathing a little too hard, exchanging the same filthy little look the second you're clear of the door."
}
]) >>
<</append>>
<<replace "#continue1">>
<div id = "continue2">
<hr>
<center>
<<link "Back to hostel">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div>
<</replace>>
<</link>>
</center>
</div><div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/activity/attendClass_vid1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You sat down next to Riley. The second class ended and the last students started filing out, you turned toward her."
},
{
speaker: "player",
text: "I need your help."
},
{
speaker: "riley",
text: "Anything. What do you need?"
},
{
speaker: "player",
text: "I have to catch up on Physics. Angela said your notes are the best in the whole year… so I came straight to you."
},
{
type: "narration",
text: "Riley's face lit up the moment she heard that"
},
{
speaker: "riley",
text: "She really said that? Of course she did. I don't half-ass anything… especially when it comes to being the best."
},
{
type: "narration",
text: "She pulled out her notebook and slid it toward you. You flipped through a few pages and raised your eyebrows."
},
{
speaker: "player",
text: "Fuck… these are actually perfect. Didn't expect you to be this good at Physics."
},
{
speaker: "riley",
text: "I'm good at a lot of things. You just haven't seen most of them yet."
},
{
type: "narration",
text: "You started copying. After a minute she leaned in a little closer, voice dropping."
},
{
speaker: "riley",
text: "I'm giving you my best notes… so what am I getting in return?"
},
{
speaker: "player",
text: "In return? What is this, a business deal now?"
},
{
speaker: "riley",
text: "No. But if you're taking the best notes in the year, I should get something worth it."
},
{
speaker: "player",
text: "I'm already teaching you guitar. Doesn't that count?"
},
{
speaker: "riley",
text: "That doesn't count. I want something else."
},
{
speaker: "player",
text: "Alright then. Tell me what you want."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/riley/rileyEvent3Kiss1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "Riley gave you a filthy little smile, then leaned in and kissed you. Soft at first, then deeper the second she felt you respond — like she'd been waiting for permission to do it."
},
{
speaker: "riley",
text: "Mmmmm"
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/riley/rileyEvent3Kiss2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "The kiss got messier fast. You stood up, grabbed the back of her neck, and kissed her hard while pulling her top down. Her tits spilled free."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/riley/rileyEvent3Stop.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "riley",
text: "Ahh… fuck—"
},
{
type: "narration",
text: "You kept going, switching between both, until the sound of footsteps in the hallway made you freeze."
},
{
speaker: "player",
text: "Wait a minute. Someone's coming."
},
{
type: "narration",
text: "Riley quickly yanked her top back up, cheeks flushed, breathing hard. A few students walked past the open door without looking in. When they were gone, the frustrated look on her face was obvious."
},
{
speaker: "player",
text: "Sorry, baby. I didn't want it to stop either."
},
{
speaker: "riley",
text: "I wish nobody else ever existed."
},
{
speaker: "player",
text: "Awww… Then let me make it up to you. Dinner. Friday evening. Just us."
},
{
type: "narration",
text: "The frustration on her face vanished instantly, replaced by pure excitement."
},
{
speaker: "riley",
text: "Yes. Definitely yes."
},
{
speaker: "player",
text: "There's a place near campus. I'll text you the time."
},
{
speaker: "riley",
text: "Who knows? Maybe I'll end up eating you instead."
},
{
type: "narration",
text: "You finished copying the last of her notes while she watched you the entire time, still visibly worked up. When you closed the notebook, you stood and left, feeling her eyes on you until you were out the door."
}
]) >>
<hr>
<center>
<<link "Get out of classroom">>
<<run setup.finishEvent()>>
<</link>>
</center><<= setup.renderDialogue([
{
type: "narration",
text: "You reached the restaurant and barely had time to look around before Riley spotted you. Her face lit up and she ran straight at you."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/riley/rileyEvent4Kiss1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She jumped into your arms, legs wrapping tight around your waist, and kissed you hard — deep, hungry, like she'd been holding it in all day."
},
{
speaker: "player",
text: "Wait, wait, wait— what are we doing right here?"
},
{
speaker: "riley",
text: "Shut up and kiss me."
},
{
type: "narration",
text: "She kissed you again, even messier this time, grinding against you in the middle of the entrance."
},
{
speaker: "player",
text: "No problem, but at least let me get us a private booth before someone sees you climbing me."
},
{
type: "narration",
text: "Riley finally slid down, still breathing fast, cheeks flushed."
},
{
speaker: "riley",
text: "I couldn't help it… I've been wet since this morning just thinking about you. The second I saw you I just needed your mouth on me."
},
{
type: "narration",
text: "You walked up to the counter and found a gorgeous waitress named Jessa standing there, looking unusually sad."
},
{
speaker: "player",
text: "Jessa, everything okay?"
},
]) >>
<img class="background" src="media/event/player/playerEvent6Jessa_bg.jpg">
<<= setup.renderDialogue([
{
type: "narration",
text: "She suddenly looked up, startled like she hadn't even noticed you standing there."
},
{
speaker: "jessa",
text: "How do you know my name?"
},
{
speaker: "player",
text: "Your nameplate."
},
{
type: "narration",
text: "Jessa glanced down at her shirt, then made a small embarrassed face at herself."
},
{
speaker: "jessa",
text: "Oh… right. I'm fine."
},
{
type: "narration",
text: "She forced a quick smile before looking back at you."
},
{
speaker: "jessa",
text: "What can I get you?"
},
{
type: "narration",
text: "You could tell something was wrong, but you decided not to push her."
},
{
speaker: "player",
text: "I need a private booth."
},
{
speaker: "jessa",
text: "Sure, I can do that. Follow me."
},
{
type: "narration",
text: "She stepped out from behind the counter and guided you and Riley toward a private booth before leaving you to settle in."
},
{
type: "narration",
text: "The two of you sat across from each other and actually managed to eat, though Riley kept staring at your mouth the whole time."
},
{
type: "narration",
text: "When the plates were cleared, you leaned back."
},
{
speaker: "player",
text: "What do you want for dessert?"
},
{
type: "narration",
text: "Riley didn't answer. She stood up, walked around the table, and dropped to her knees between your legs and the tablecloth."
},
{
speaker: "riley",
text: "You."
},
{
type: "narration",
text: "She pulled you into another filthy kiss, moaning into your mouth while her hands already worked on your belt."
},
{
type: "narration",
text: "She got your pants open and your cock sprang free, slapping against her face. Riley froze for a second, eyes wide."
},
{
speaker: "riley",
text: "Holy fuck… it's even bigger up close. This thing is thicker than my wrist. I can't even fit half of this in my mouth."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/riley/rileyEvent4Handjob1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "She wrapped both hands around it and started stroking slowly, staring at it like she was obsessed."
},
{
speaker: "riley",
text: "Fuck… I've been thinking about choking on this all week… but look at it. I can't even get past the tip."
},
{
speaker: "player",
text: "Don't force it. Just suck on the tip like a good girl and use your hands. That's more than enough."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/riley/rileyEvent4Handjob2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "Riley leaned in, wrapped her lips around the head, and started sucking on just the tip while her hands kept stroking the rest."
},
{
speaker: "player",
text: "That's it… suck on the tip like a good girl while you jerk the rest. Look at you, already drooling all over it."
},
{
type: "narration",
text: "She moaned around the head, eyes looking up at you, hands moving faster."
},
{
speaker: "player",
text: "Fuck… you're gonna make me cum. Don't you dare pull away."
},
{
type: "narration",
text: "Riley didn't stop. She kept her lips sealed around the tip and stroked even harder, taking every thick pulse of cum straight into her mouth."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/riley/rileyEvent4Cum1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "When you finished, she opened her mouth and showed you the heavy load sitting on her tongue, then swallowed it all in one go and stuck her tongue out again to prove it was gone."
},
{
speaker: "riley",
text: "Fuck… your cum is so thick and warm. I could drink that every day."
},
{
type: "narration",
text: "She wiped her lips with her thumb and smiled up at you, still on her knees."
},
{
speaker: "riley",
text: "I already got my dessert. Order whatever you want… I'm full."
},
{
type: "narration",
text: "She fixed her clothes, stood up, and the two of you left the restaurant together, heading back toward the hostel."
}
]) >>
<hr>
<center>
<<link "Leave restaurant">>
<<run setup.finishEvent()>>
<</link>>
</center><div id = "sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You walked into the cafeteria and spotted Riley already sitting at a table waiting for you. You went over and sat down next to her."
},
{
type: "narration",
text: "The second you were close enough she leaned in and kissed you. Soft at first, then deeper. After a few seconds you thought she'd pull away, but she just kept going. So you kissed her back the same way until she finally broke it, a little breathless."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/riley/rileyEvent5Kiss1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "player",
text: "Damn… that was a long one."
},
{
speaker: "riley",
text: "I can't stop thinking about your dick ever since that night at the restaurant, baby."
},
{
type: "narration",
text: "You gave her a slow, dirty look."
},
{
speaker: "player",
text: "What else has been going on… apart from my dick?"
},
{
speaker: "riley",
text: "Sports competitions are coming up soon, so cheerleading practice is about to get serious. I've been working on my flexibility and stretching a lot… trying to get my body in even better shape."
},
{
speaker: "player",
text: "Your body's already dangerous enough, baby. Looking like that, you're gonna make half the guys on the field forget how to play."
},
{
type: "narration",
text: "Riley bit her lip, clearly pleased."
},
{
speaker: "riley",
text: "Then… could you help me with it in the gym? The stretching and everything."
},
{
speaker: "player",
text: "Yeah. I can do that."
},
{
type: "narration",
text: "Her whole face lit up."
},
{
speaker: "riley",
text: "I'll be waiting for you Monday morning in the gym then."
},
{
type: "narration",
text: "The two of you stood up and left the cafeteria together."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Leave cafeteria">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div><div id = "sceneDialogue">
<<= setup.renderDialogue([
{
type: "narration",
text: "You walked into the gym. Only Riley and one other girl on a treadmill were there. Riley was already on a yoga mat, warming up and stretching. She looked extremely hot — tight shorts riding up, top stretched across her chest as she bent and reached."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/riley/rileyEvent6Exercise1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You watched her from a distance for a while before walking over and stopping right in front of her face while she was still sitting on the mat."
},
{
speaker: "player",
text: "Fuck… you look so damn sexy like this. I want to pin you down on this mat and ruin you right now."
},
{
type: "narration",
text: "Riley's eyes dropped straight to your crotch. Your cock had already gotten so hard it was poking out from the bottom of your shorts."
},
{
speaker: "riley",
text: "I can see that, baby… it's already this big and hard. It slipped right out of your shorts."
},
{
type: "narration",
text: "She leaned in, kissed the exposed tip, and took just the head into her mouth for a second before pulling off."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/riley/rileyEvent6Suck1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "riley",
text: "Even just the head fills my whole mouth… I keep wondering when I'll finally be able to give you a real blowjob."
},
{
speaker: "riley",
text: "But we've got company right now. We should start with the stretching."
},
{
type: "narration",
text: "She grabbed a big exercise ball, lay back on it, and looked up at you."
},
{
speaker: "riley",
text: "Help me balance… correct my form if I'm doing it wrong."
},
{
type: "narration",
text: "You helped her for a bit, hands on her hips and thighs, adjusting her position. After a while you glanced over and saw the other girl walk out of the gym."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/riley/rileyEvent6Exercise2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "The second the door closed you took the opportunity. Your hands started roaming over her body while you kissed her neck, her collarbone, the tops of her breasts. Riley moaned immediately."
},
{
speaker: "riley",
text: "Ahh… baby… you looking at me like that and kissing me already has me so wet…"
},
{
speaker: "player",
text: "Clothes off. Now."
},
{
type: "narration",
text: "You both stripped quickly. You pushed her back onto the exercise ball and put your mouth straight on her pussy, licking and sucking without holding back."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/riley/rileyEvent6PussyLicking1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "riley",
text: "Oh my god—yes… your tongue feels so good… don't stop…"
},
{
type: "narration",
text: "You slid one finger into her while you kept licking. Riley's moans got louder and more broken."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/riley/rileyEvent6PussyLicking2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "riley",
text: "Ahh—fuck—your finger… and your tongue at the same time… it feels amazing, baby…"
},
{
type: "narration",
text: "You flipped her over so she was face-down on the ball and went right back to her pussy from behind, licking her even deeper."
},
{
speaker: "riley",
text: "I'm getting so close… it's hard to stay balanced… your mouth feels too good—"
},
{
type: "narration",
text: "You held her steady with both hands so she wouldn't slip, never stopping with your tongue. Riley's voice turned desperate."
},
{
speaker: "riley",
text: "I'm gonna cum… don't stop… please don't stop—"
},
{
type: "narration",
text: "She came hard, shaking on the ball as she soaked your face. Her body went limp and she slowly slid down onto the floor, trying to catch her breath."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/riley/rileyEvent6PussyLicking3.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You lay back on the exercise ball. A few seconds later you felt warm lips on your balls. Riley had climbed up and was licking and kissing them while her hand stroked your cock."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/riley/rileyEvent6Handjob1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "player",
text: "That's it… suck on my balls while you stroke this thick cock, slut."
},
{
type: "narration",
text: "She stopped using her mouth after a while and focused on stroking you hard with both hands, eyes locked on your cock."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/riley/rileyEvent6Handjob2.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "riley",
text: "It's so fucking big, baby… I want it inside me so badly. I wish I was ready to take this cock already."
},
{
speaker: "player",
text: "Then rub that wet pussy on it. Use this big dick to get yourself off."
},
{
type: "narration",
text: "Riley immediately got up, turned around, and sat on your cock — not taking it inside, just pressing her dripping pussy against the shaft and starting to grind."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/riley/rileyEvent6Handjob3.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
speaker: "riley",
text: "Ahh… fuck… it feels so good sliding against me… so thick and hard…"
},
{
type: "narration",
text: "She kept rubbing herself on you, moaning louder. You felt yourself getting close."
},
{
speaker: "player",
text: "I'm gonna cum… "
},
{
type: "narration",
text: "You pushed the exercise ball away. Riley leaned closer, wrapped both hands around your cock, and started stroking hard while wrapping her lips around the head."
},
]) >>
<div class="media-container">
<video class="scene-media" loop playsinline preload="metadata">
<source src="media/event/riley/rileyEvent6Cum1.mp4" type="video/mp4">
</video>
</div>
<<= setup.renderDialogue([
{
type: "narration",
text: "You came straight into her mouth. She didn't pull away — she kept stroking and sucking until every drop was out, then slowly pulled off, licked the last bit from the tip, and opened her mouth to show you the load sitting on her tongue before swallowing it all."
},
{
speaker: "player",
text: "Look at you… such a cum-hungry little slut. You really didn't want to waste a single drop."
},
{
type: "narration",
text: "Riley let out a soft laugh, still on her knees."
},
{
speaker: "riley",
text: "It's because your cum tastes so good, baby…"
},
{
speaker: "riley",
text: "We should get dressed before someone else walks in."
},
{
type: "narration",
text: "The two of you quickly put your clothes back on and left the gym together."
}
]) >>
</div>
<div id = "continue1">
<hr>
<center>
<<link "Leave gym">>
<<run setup.finishEvent()>>
<</link>>
</center>
</div>